{"openapi":"3.0.3","info":{"title":"moreflow API","version":"0.1.0","description":"External operation API for integrations. Use an account-scoped integration token to call protected operations; a token's explicitly granted operation-id scopes define which operations it may invoke. The OpenAPI info.version value is the deployed API implementation version sourced from the repository root package.json. Per-operation contract revisions are the compatibility contract: they are exposed as x-moreflow-contract-version in this document and X-Moreflow-Contract-Version on operation responses. A client should pin the operation contract revision it has tested, rather than infer contract compatibility from the package release version.\n\n**Integration token scopes.** An integration-token scope is one exact operation id, not a module prefix or wildcard. Token issuance accepts only integration-audience operations and rejects public, internal, and unknown ids. A token stamped read-only may contain only query-operation scopes; it cannot be issued with mutation or job scopes.\n\n**Account context.** Integration tokens are bound to their issuing account. For token calls, an `accountId` or `account_id` request-body value must equal that account; the runtime injects the token account into both fields and ignores a caller attempt to select a different account through `x-moreflow-account-id`. Authenticated browser-session and internal-service requests may establish account context with a body `accountId`/`account_id` or `x-moreflow-account-id`; a browser session may only use its own account.\n\n**Headers and idempotency.** `POST /v1/operations/{operationId}` responses include `X-Request-Id` and `X-Trace-Id` for correlation. Every public write operation accepts a non-empty key either in the `Idempotency-Key` header or in the JSON `idempotencyKey` field when the operation schema declares it. If both are supplied, keep them identical. The key is scoped to the authenticated account, verified token, operation, and key. The lifecycle rule is **one key = one logical request**: keep the same key for an identical retry, and rotate it whenever the business payload changes. Completed and failed idempotency records are retained for 30 days. A pending claim has a 600-second lease; while it is active, `409 IDEMPOTENCY_IN_PROGRESS` includes `Retry-After` with the exact remaining delay. After expiry, the default behavior is an unknown-outcome failure; only an operation explicitly marked safe to re-execute may reclaim the claim. After the retention window, the key is expired and may be reused for a new request.\n\nIdempotent mutations have three outcomes: **created** means this request executed and created the durable result; **replayed** means the byte-identical request reused the stored terminal result and the HTTP response carries `Idempotency-Replayed: true`; **conflict** means the key was used with a different fingerprint. A `409 IDEMPOTENCY_CONFLICT` is recovered by using a new key for the changed request. A `409 IDEMPOTENCY_IN_PROGRESS` is recovered by retrying the identical request with the same key after `Retry-After` (or by opting into the safe re-execution path after the pending lease). Terminal failures are durable too: an identical retry replays the same failure, so do not rotate the key merely because the first attempt returned an application error.\n\n**Rate limits.** A `429` response from `POST /v1/operations/{operationId}` includes `Retry-After`, `RateLimit-Limit`, `RateLimit-Remaining`, and `RateLimit-Reset`. `Retry-After` is a delay in seconds and `RateLimit-Reset` is a Unix timestamp in seconds. The event stream uses the same fields for its stream-open rate limit; a concurrent-stream cap supplies only `Retry-After`. HTTP header names are case-insensitive, so clients must handle equivalent casing.\n\nUse the public discovery operations as the front door to this API. Discovery is progressive: request only the detail needed for the next call.\n\n**Level 0 — find capabilities.** Call `operations.discovery.list` for public operation names, modules, and one-line summaries. Use `operations.modules.list` when a module list is enough.\n\n**Level 1 — inspect one contract.** Call `operations.discovery.get` with an operation id to retrieve its typed input, output, and error schemas before executing it.\n\n**Level 2 — use schema details.** Read the returned JSON Schema descriptions, validation constraints, and examples to construct a valid request and understand the response or recovery path."},"servers":[{"url":"https://dev-api.moreflow.io","description":"Development"},{"url":"https://api.moreflow.io","description":"Production"},{"url":"http://localhost:3100","description":"Local development"}],"components":{"schemas":{"OperationErrorRecovery":{"type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":true},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"OperationAccountAuditLogListInput":{"type":"object","properties":{"actorType":{"description":"Only entries performed by this kind of actor.","type":"string","enum":["user","api_token","oauth_client","flow","automation","operator","system"]},"actorId":{"description":"Only entries by this actor id, or taken on behalf of this member id.","type":"string","minLength":1,"maxLength":300},"actions":{"minItems":1,"maxItems":38,"type":"array","items":{"type":"string","enum":["member_invited","member_invite_revoked","member_role_changed","member_removed","member_deactivated","member_reactivated","member_sessions_revoked","account_ownership_transferred","account_deletion_requested","client_deleted","client_purged","clients_trash_emptied","clients_merged","data_export_requested","api_token_created","api_token_rotated","api_token_revoked","oauth_grant_created","oauth_grant_reduced","oauth_grant_revoked","webhook_endpoint_created","webhook_endpoint_updated","webhook_endpoint_enabled_changed","webhook_endpoint_secret_rotated","webhook_endpoint_deleted","integration_connected","integration_disconnected","billing_plan_changed","billing_plan_change_cancelled","billing_subscription_cancelled","billing_subscription_reactivated","billing_payment_method_changed","billing_addon_changed","automation_published","automation_status_changed","automation_deleted","flow_objective_paused","flow_objective_resumed"],"description":"Audited action, in lower snake_case."}},"targetType":{"type":"string","enum":["account","member","client","data_export","api_token","oauth_client","oauth_connection","webhook_endpoint","integration","subscription","automation","flow_objective"]},"targetId":{"type":"string","minLength":1,"maxLength":300},"occurredAfter":{"description":"Inclusive lower bound (RFC 3339).","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"occurredBefore":{"description":"Inclusive upper bound (RFC 3339).","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cursor":{"type":"string","minLength":1},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100}}},"OperationAccountAuditLogListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"action":{"type":"string","enum":["member_invited","member_invite_revoked","member_role_changed","member_removed","member_deactivated","member_reactivated","member_sessions_revoked","account_ownership_transferred","account_deletion_requested","client_deleted","client_purged","clients_trash_emptied","clients_merged","data_export_requested","api_token_created","api_token_rotated","api_token_revoked","oauth_grant_created","oauth_grant_reduced","oauth_grant_revoked","webhook_endpoint_created","webhook_endpoint_updated","webhook_endpoint_enabled_changed","webhook_endpoint_secret_rotated","webhook_endpoint_deleted","integration_connected","integration_disconnected","billing_plan_changed","billing_plan_change_cancelled","billing_subscription_cancelled","billing_subscription_reactivated","billing_payment_method_changed","billing_addon_changed","automation_published","automation_status_changed","automation_deleted","flow_objective_paused","flow_objective_resumed"],"description":"Audited action, in lower snake_case."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"operationId":{"type":"string","minLength":1,"description":"Canonical operation that performed the action."},"surface":{"nullable":true,"description":"Caller surface (web, mobile, api, scheduled, ...), when known.","type":"string"},"actor":{"type":"object","properties":{"type":{"type":"string","enum":["user","api_token","oauth_client","flow","automation","operator","system"]},"id":{"nullable":true,"type":"string"},"userId":{"nullable":true,"description":"Member who acted, or on whose behalf the actor acted.","type":"string"},"displayName":{"nullable":true,"description":"Current member name or token label, when still resolvable.","type":"string"}},"required":["type","id","userId","displayName"],"additionalProperties":false},"target":{"type":"object","properties":{"type":{"type":"string","enum":["account","member","client","data_export","api_token","oauth_client","oauth_connection","webhook_endpoint","integration","subscription","automation","flow_objective"]},"id":{"nullable":true,"type":"string"},"displayName":{"nullable":true,"type":"string"},"available":{"nullable":true,"description":"Whether the target still exists; null when the audit log cannot check this target type.","type":"boolean"}},"required":["type","id","displayName","available"],"additionalProperties":false},"changes":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"type":"string"}}]},"description":"Allowlisted change summary. Never contains secrets or message content."}},"required":["id","action","occurredAt","operationId","surface","actor","target","changes"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string","minLength":1},"retentionDays":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"canExport":{"type":"boolean","description":"Whether the caller may export the filtered log."}},"required":["canExport"],"additionalProperties":false}},"required":["items","nextCursor","retentionDays","capabilities"],"additionalProperties":false},"OperationAccountAuditLogListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","FORBIDDEN","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAccountAuditLogListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAccountAuditLogListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAccountAuditLogListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAccountAuditLogListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAccountAuditLogListErrorDefinitionSchema0"}}]},"OperationAccountAuditLogListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAccountAuditLogListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAccountAuditLogListErrorDefinitionSchema1"}}]},"OperationActivitiesCreateInput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["call","chatbot","chatbot_conversation","client","client_field_update","client_note","client_note_created","contract","document","email","error","file","folder","follow_up","form","form_entry","form_submission","integration","invoice","legacy","meeting","mention","note","other","payment","paywise_claim","phone_call","product_purchased","reminder","sms","status","system","task","warning","whatsapp","deal","whatsapp_call"]},"title":{"type":"string","minLength":1},"description":{"type":"string"},"trigger":{"default":"unknown","type":"string","enum":["unknown","contracts.paymentWarning.send","contract_sent","contracts.paymentLinks.send","contracts.public.requestSigningOtp","contracts.public.sign","downstream_conversions.retry","invoice_created","meetings.create","offer_sent","payments.reconcile","communications.portalLinks.send","crm.touchpoints.create","settings.team.invite"]},"event":{"default":"unknown","type":"string","enum":["unknown","block","bounced","attended","call_answered","call_completed","call_declined","call_failed","call_forwarded","call_no_answer","call_started","cancelled","client_status_changed","clicked","complete","create","delete","delivered","failed","form_submission","incoming_call","invoice_overdue","meeting_reminder","missed_call","opened","outgoing_call","paid","payment_completed","payment_failed","payment_received","payment_successful","plan_completed","plan_created","plan_revised","purchased","received","restore","sent","signed","submit","transfer","update","upload","viewed","deal_created","deal_updated","deal_stage_changed","deal_won","deal_lost","deal_reopened","deal_owner_changed","deal_archived","whatsapp_call_permission_requested","whatsapp_call_permission_replied","whatsapp_call_recording_available"]},"emailId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"phoneCallId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fileId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientNoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientNoteId"},"contractId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractId"},"meetingId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"MeetingId"},"paymentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"PaymentId"},"paywiseClaimId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"statusFrom":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"statusTo":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"formEntryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"formId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actorType":{"type":"string"},"chatbotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"chatbotConversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"bodyPreview":{"type":"string"},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["type","title"]},"OperationActivitiesCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"userId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["call","chatbot","chatbot_conversation","client","client_field_update","client_note","client_note_created","contract","document","email","error","file","folder","follow_up","form","form_entry","form_submission","integration","invoice","legacy","meeting","mention","note","other","payment","paywise_claim","phone_call","product_purchased","reminder","sms","status","system","task","warning","whatsapp","deal","whatsapp_call"]},"title":{"type":"string"},"description":{"default":null,"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["unknown","contracts.paymentWarning.send","contract_sent","contracts.paymentLinks.send","contracts.public.requestSigningOtp","contracts.public.sign","downstream_conversions.retry","invoice_created","meetings.create","offer_sent","payments.reconcile","communications.portalLinks.send","crm.touchpoints.create","settings.team.invite"]},"event":{"type":"string","enum":["unknown","block","bounced","attended","call_answered","call_completed","call_declined","call_failed","call_forwarded","call_no_answer","call_started","cancelled","client_status_changed","clicked","complete","create","delete","delivered","failed","form_submission","incoming_call","invoice_overdue","meeting_reminder","missed_call","opened","outgoing_call","paid","payment_completed","payment_failed","payment_received","payment_successful","plan_completed","plan_created","plan_revised","purchased","received","restore","sent","signed","submit","transfer","update","upload","viewed","deal_created","deal_updated","deal_stage_changed","deal_won","deal_lost","deal_reopened","deal_owner_changed","deal_archived","whatsapp_call_permission_requested","whatsapp_call_permission_replied","whatsapp_call_recording_available"]},"emailId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"phoneCallId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fileId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"followUpId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientNoteId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientNoteId"},"contractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractId"},"meetingId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"MeetingId"},"paymentId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"PaymentId"},"paywiseClaimId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"statusFrom":{"default":null,"nullable":true,"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"statusTo":{"default":null,"nullable":true,"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"formEntryId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"formId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actorType":{"default":null,"nullable":true,"type":"string"},"chatbotId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"chatbotConversationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"bodyPreview":{"default":null,"nullable":true,"type":"string"},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","userId","type","title","description","trigger","event","emailId","phoneCallId","fileId","followUpId","clientNoteId","contractId","meetingId","paymentId","paywiseClaimId","statusFrom","statusTo","formEntryId","formId","actorType","chatbotId","chatbotConversationId","bodyPreview","occurredAt","createdAt"],"additionalProperties":false},"OperationActivitiesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationActivitiesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationActivitiesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationActivitiesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationActivitiesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationActivitiesCreateErrorDefinitionSchema0"}}]},"OperationActivitiesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationActivitiesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationActivitiesCreateErrorDefinitionSchema1"}}]},"OperationActivitiesListInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Optionally restrict activities to one CRM client."},"types":{"description":"Activity types to include.","minItems":1,"type":"array","items":{"type":"string","enum":["call","chatbot","chatbot_conversation","client","client_field_update","client_note","client_note_created","contract","document","email","error","file","folder","follow_up","form","form_entry","form_submission","integration","invoice","legacy","meeting","mention","note","other","payment","paywise_claim","phone_call","product_purchased","reminder","sms","status","system","task","warning","whatsapp","deal","whatsapp_call"]}},"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false},"OperationActivitiesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"userId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["call","chatbot","chatbot_conversation","client","client_field_update","client_note","client_note_created","contract","document","email","error","file","folder","follow_up","form","form_entry","form_submission","integration","invoice","legacy","meeting","mention","note","other","payment","paywise_claim","phone_call","product_purchased","reminder","sms","status","system","task","warning","whatsapp","deal","whatsapp_call"]},"title":{"type":"string"},"description":{"default":null,"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["unknown","contracts.paymentWarning.send","contract_sent","contracts.paymentLinks.send","contracts.public.requestSigningOtp","contracts.public.sign","downstream_conversions.retry","invoice_created","meetings.create","offer_sent","payments.reconcile","communications.portalLinks.send","crm.touchpoints.create","settings.team.invite"]},"event":{"type":"string","enum":["unknown","block","bounced","attended","call_answered","call_completed","call_declined","call_failed","call_forwarded","call_no_answer","call_started","cancelled","client_status_changed","clicked","complete","create","delete","delivered","failed","form_submission","incoming_call","invoice_overdue","meeting_reminder","missed_call","opened","outgoing_call","paid","payment_completed","payment_failed","payment_received","payment_successful","plan_completed","plan_created","plan_revised","purchased","received","restore","sent","signed","submit","transfer","update","upload","viewed","deal_created","deal_updated","deal_stage_changed","deal_won","deal_lost","deal_reopened","deal_owner_changed","deal_archived","whatsapp_call_permission_requested","whatsapp_call_permission_replied","whatsapp_call_recording_available"]},"emailId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"phoneCallId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fileId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"followUpId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientNoteId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientNoteId"},"contractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractId"},"meetingId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"MeetingId"},"paymentId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"PaymentId"},"paywiseClaimId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"statusFrom":{"default":null,"nullable":true,"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"statusTo":{"default":null,"nullable":true,"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"formEntryId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"formId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actorType":{"default":null,"nullable":true,"type":"string"},"chatbotId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"chatbotConversationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"bodyPreview":{"default":null,"nullable":true,"type":"string"},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","userId","type","title","description","trigger","event","emailId","phoneCallId","fileId","followUpId","clientNoteId","contractId","meetingId","paymentId","paywiseClaimId","statusFrom","statusTo","formEntryId","formId","actorType","chatbotId","chatbotConversationId","bodyPreview","occurredAt","createdAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationActivitiesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationActivitiesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationActivitiesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationActivitiesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationActivitiesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationActivitiesListErrorDefinitionSchema0"}}]},"OperationActivitiesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationActivitiesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationActivitiesListErrorDefinitionSchema1"}}]},"OperationAiModelsGetInput":{"type":"object","properties":{"modelId":{"type":"string","minLength":1,"maxLength":200,"x-moreflow-reference":{"resolver":"ai.models.get"}}},"required":["modelId"]},"OperationAiModelsGetOutput":{"type":"object","properties":{"id":{"type":"string"},"provider":{"type":"string","enum":["anthropic","openai","google","byteplus","openrouter","elevenlabs"]},"modality":{"type":"string","enum":["text","embedding","transcription","live","speech","image","video"]},"displayName":{"type":"string"},"lifecycle":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["active"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["preview"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["retired"]},"successor":{"type":"string","minLength":1}},"required":["status"],"additionalProperties":false}]},"successor":{"description":"The successor of a retired model, so a caller can switch in one step.","type":"object","properties":{"id":{"type":"string"},"provider":{"type":"string","enum":["anthropic","openai","google","byteplus","openrouter","elevenlabs"]},"modality":{"type":"string","enum":["text","embedding","transcription","live","speech","image","video"]},"displayName":{"type":"string"},"lifecycle":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["active"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["preview"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["retired"]},"successor":{"type":"string","minLength":1}},"required":["status"],"additionalProperties":false}]},"kind":{"description":"Legacy alias of modality, present for image and video models only.","type":"string","enum":["image","video"]},"label":{"description":"Legacy alias of displayName, present for image and video models only.","type":"string"}},"required":["id","provider","modality","displayName","lifecycle"],"additionalProperties":false},"text":{"type":"object","properties":{"contextWindowTokens":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"maxOutputTokens":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"rejectsSamplingParameters":{"type":"boolean"},"supportsReasoningEffort":{"type":"boolean"},"requiresForcedReasoning":{"type":"boolean"},"inputs":{"minItems":1,"type":"array","items":{"type":"string","enum":["text","image","pdf","audio","video"]}},"toolCalling":{"type":"boolean"},"structuredOutput":{"type":"boolean"},"minimumReasoning":{"type":"string","enum":["none","minimal","low"]},"latency":{"type":"string","enum":["fastest","fast","moderate","slower"]},"capabilitySource":{"type":"string","format":"uri"},"capabilityCheckedAt":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["rejectsSamplingParameters","supportsReasoningEffort","requiresForcedReasoning"],"additionalProperties":false},"media":{"type":"object","properties":{"aspectRatios":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"resolutions":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"durationSeconds":{"type":"object","properties":{"min":{"type":"number","minimum":0,"exclusiveMinimum":true},"max":{"type":"number","minimum":0,"exclusiveMinimum":true}},"required":["min","max"],"additionalProperties":false},"prompt":{"type":"object","properties":{"required":{"type":"boolean"},"maxLength":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["required"],"additionalProperties":false},"referenceSlots":{"type":"array","items":{"type":"object","properties":{"slot":{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]},"maxCount":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"contentTypes":{"minItems":1,"type":"array","items":{"type":"string","enum":["image/jpeg","image/png","image/webp","video/mp4","video/quicktime","audio/mpeg","audio/wav"]}},"clipDurationSeconds":{"type":"object","properties":{"min":{"type":"number","minimum":0,"exclusiveMinimum":true},"max":{"type":"number","minimum":0,"exclusiveMinimum":true}},"required":["min","max"],"additionalProperties":false}},"required":["slot","maxCount","contentTypes"],"additionalProperties":false}},"slotExclusions":{"type":"array","items":{"type":"array","items":{"anyOf":[{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]},{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]}]},"minItems":2,"maxItems":2}},"requiredSlots":{"type":"array","items":{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]}},"slotDependencies":{"type":"array","items":{"type":"object","properties":{"slot":{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]},"requiresAnyOf":{"minItems":1,"type":"array","items":{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]}}},"required":["slot","requiresAnyOf"],"additionalProperties":false}},"durationBudgets":{"type":"array","items":{"type":"object","properties":{"slots":{"minItems":1,"type":"array","items":{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]}},"maxTotalSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true}},"required":["slots","maxTotalSeconds"],"additionalProperties":false}},"supportsSeed":{"type":"boolean"},"supportsGeneratedAudio":{"type":"boolean"},"referenceTokenFormat":{"type":"string","enum":["typed_index_at","ordinal_image"]},"supportsLikenessAsset":{"type":"boolean"},"providerOptions":{"type":"object","properties":{"byteplus":{"type":"object","properties":{"referenceTaskType":{"type":"string","enum":["reference"]}},"additionalProperties":false},"openrouter":{"type":"object","properties":{"resolutions":{"type":"object","additionalProperties":{"type":"string","minLength":1}}},"additionalProperties":false}},"additionalProperties":false}},"required":["aspectRatios","prompt","referenceSlots","slotExclusions","requiredSlots","supportsSeed","supportsGeneratedAudio","supportsLikenessAsset"],"additionalProperties":false},"aspectRatios":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"resolutions":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"durationSeconds":{"type":"object","properties":{"min":{"type":"number","minimum":0,"exclusiveMinimum":true},"max":{"type":"number","minimum":0,"exclusiveMinimum":true}},"required":["min","max"],"additionalProperties":false},"prompt":{"type":"object","properties":{"required":{"type":"boolean"},"maxLength":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["required"],"additionalProperties":false},"referenceSlots":{"type":"array","items":{"type":"object","properties":{"slot":{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]},"maxCount":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"contentTypes":{"minItems":1,"type":"array","items":{"type":"string","enum":["image/jpeg","image/png","image/webp","video/mp4","video/quicktime","audio/mpeg","audio/wav"]}},"clipDurationSeconds":{"type":"object","properties":{"min":{"type":"number","minimum":0,"exclusiveMinimum":true},"max":{"type":"number","minimum":0,"exclusiveMinimum":true}},"required":["min","max"],"additionalProperties":false}},"required":["slot","maxCount","contentTypes"],"additionalProperties":false}},"slotExclusions":{"type":"array","items":{"type":"array","items":{"anyOf":[{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]},{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]}]},"minItems":2,"maxItems":2}},"requiredSlots":{"type":"array","items":{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]}},"slotDependencies":{"type":"array","items":{"type":"object","properties":{"slot":{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]},"requiresAnyOf":{"minItems":1,"type":"array","items":{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]}}},"required":["slot","requiresAnyOf"],"additionalProperties":false}},"durationBudgets":{"type":"array","items":{"type":"object","properties":{"slots":{"minItems":1,"type":"array","items":{"type":"string","enum":["reference_image","first_frame","last_frame","reference_video","reference_audio"]}},"maxTotalSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true}},"required":["slots","maxTotalSeconds"],"additionalProperties":false}},"supportsSeed":{"type":"boolean"},"supportsGeneratedAudio":{"type":"boolean"},"referenceTokenFormat":{"type":"string","enum":["typed_index_at","ordinal_image"]},"supportsLikenessAsset":{"type":"boolean"},"providerOptions":{"type":"object","properties":{"byteplus":{"type":"object","properties":{"referenceTaskType":{"type":"string","enum":["reference"]}},"additionalProperties":false},"openrouter":{"type":"object","properties":{"resolutions":{"type":"object","additionalProperties":{"type":"string","minLength":1}}},"additionalProperties":false}},"additionalProperties":false},"kind":{"description":"Legacy alias of modality, image and video models only.","type":"string","enum":["image","video"]},"label":{"description":"Legacy alias of displayName, image and video models only.","type":"string"},"pricing":{"nullable":true,"description":"Customer prices in EUR per unit; null when the model has no catalog price.","type":"object","properties":{"currency":{"type":"string","enum":["EUR"]},"unitPrices":{"minItems":1,"type":"array","items":{"type":"object","properties":{"meter":{"type":"string","enum":["text_input","text_output","embedding_input","thinking_output","cache_read","cache_write_5m","cache_write_1h","live_audio_input","live_audio_output","live_text_input","live_text_output","speech_text_input","speech_audio_output","transcription_minute","transcription_audio_input","transcription_text_output","video_output_tokens","video_input_tokens","video_output_second","video_output_second_with_references","video_reference_image"]},"unit":{"type":"string","enum":["token","second","minute","image"]},"quantity":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"aboveInputTokens":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"validUntil":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"customerPrice":{"type":"number","minimum":0,"description":"EUR charged per quantity units."}},"required":["meter","unit","quantity","customerPrice"],"additionalProperties":false}}},"required":["currency","unitPrices"],"additionalProperties":false}},"required":["id","provider","modality","displayName","lifecycle","pricing"],"additionalProperties":false},"OperationAiModelsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AI_MODEL_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAiModelsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAiModelsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAiModelsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAiModelsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAiModelsGetErrorDefinitionSchema0"}}]},"OperationAiModelsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAiModelsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAiModelsGetErrorDefinitionSchema1"}}]},"OperationAiModelsListInput":{"type":"object","properties":{"modality":{"description":"Only models of this modality.","type":"string","enum":["text","embedding","transcription","live","speech","image","video"]},"kind":{"description":"Deprecated: use modality. Image or video models; conflicts with a different modality.","type":"string","enum":["image","video"]},"provider":{"description":"Only models served by this provider.","type":"string","enum":["anthropic","openai","google","byteplus","openrouter","elevenlabs"]},"lifecycle":{"description":"Only models with this lifecycle. Omitted: active and preview models.","type":"string","enum":["active","preview","retired"]},"role":{"description":"Only models eligible for this AI model role. One of: ai.default, flow.planning, flow.drafting, flow.review, flow.classification, flow.summarization, flow.subagent, flow.decisions, chatbot.fast, chatbot.balanced, chatbot.pro, studio.evidence, studio.creative, studio.video.standard, studio.video.pro, rag.embedding, transcription, image.","type":"string","minLength":1,"maxLength":100}}},"OperationAiModelsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"provider":{"type":"string","enum":["anthropic","openai","google","byteplus","openrouter","elevenlabs"]},"modality":{"type":"string","enum":["text","embedding","transcription","live","speech","image","video"]},"displayName":{"type":"string"},"lifecycle":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["active"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["preview"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["retired"]},"successor":{"type":"string","minLength":1}},"required":["status"],"additionalProperties":false}]},"kind":{"description":"Legacy alias of modality, present for image and video models only.","type":"string","enum":["image","video"]},"label":{"description":"Legacy alias of displayName, present for image and video models only.","type":"string"},"fitWarnings":{"description":"Present only when role is filtered: why this eligible model may be a poor fit for the role. always_reasons: the role needs quick replies and the model cannot switch reasoning off. slower: the provider rates the model slower than the role needs. expensive: its output price is above what the role's volume suits. Empty when it fits. Advisory: the model may still be chosen.","type":"array","items":{"type":"string","enum":["always_reasons","slower","expensive"]}}},"required":["id","provider","modality","displayName","lifecycle"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"role":{"description":"Present only when role is filtered: the effective model of that role.","type":"object","properties":{"id":{"type":"string","enum":["ai.default","flow.planning","flow.drafting","flow.review","flow.classification","flow.summarization","flow.subagent","flow.decisions","chatbot.fast","chatbot.balanced","chatbot.pro","studio.evidence","studio.creative","studio.video.standard","studio.video.pro","rag.embedding","transcription","image"]},"effectiveModelId":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"},"description":"The model this role runs now: its platform override, or the code default."},"source":{"type":"string","enum":["account","platform","default"],"description":"platform: a platform override is set. default: no override, so the code default runs."}},"required":["id","effectiveModelId","source"],"additionalProperties":false}},"required":["items","nextCursor"],"additionalProperties":false},"OperationAiModelsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAiModelsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAiModelsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAiModelsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAiModelsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAiModelsListErrorDefinitionSchema0"}}]},"OperationAiModelsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAiModelsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAiModelsListErrorDefinitionSchema1"}}]},"OperationAnalyticsExperimentsCompleteInput":{"type":"object","properties":{"experimentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"winnerVariant":{"nullable":true,"description":"The variant to ship (results.get winnerVariant), or null when none won.","type":"string","minLength":1,"maxLength":64},"cleanupChangeId":{"description":"The cleanup pull request, if it already exists.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"repositories.changes.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["experimentId","winnerVariant"]},"OperationAnalyticsExperimentsCompleteOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string"},"hypothesis":{"type":"string"},"variants":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"Variant key; one variant must be control."},"weight":{"type":"integer","minimum":0,"maximum":10000,"description":"Relative share of the experiment traffic."}},"required":["key","weight"],"additionalProperties":false}},"goalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"measureRevenue":{"type":"boolean","description":"Whether revenue per visitor (goal events’ value_cents) is the primary metric."},"trafficPercent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Share of visitors in the experiment, 1–100; the rest sees control and is not counted."},"minSamplePerVariant":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Visitors every variant needs before a decision."},"status":{"type":"string","enum":["draft","running","stopped","completed"]},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stoppedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"winnerVariant":{"nullable":true,"description":"Shipped variant of a completed experiment; null when none won.","type":"string"},"hostedSiteId":{"nullable":true,"description":"Hosted site whose routing worker assigns the variants; null off-platform or when derived from the analytics site.","x-moreflow-reference":{"resolver":"sites.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"variantChangeId":{"nullable":true,"description":"Repository change that built the variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cleanupChangeId":{"nullable":true,"description":"Repository change that removes the losing variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cleanupProposal":{"description":"Completed without a linked cleanupChangeId: the repositories.changes.propose call that removes the losing variants (the same call complete returns as next).","type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change, start, stop and complete the experiment."}},"required":["canManage"],"additionalProperties":false},"next":{"nullable":true,"description":"The cleanup step: a repository change that removes the losing variants; null when one is linked.","type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false}},"required":["id","siteId","key","hypothesis","variants","goalId","measureRevenue","trafficPercent","minSamplePerVariant","status","startedAt","stoppedAt","completedAt","winnerVariant","hostedSiteId","variantChangeId","cleanupChangeId","createdBy","createdAt","updatedAt","capabilities","next"],"additionalProperties":false},"OperationAnalyticsExperimentsCompleteOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteOutputDefinitionSchema0"}}]},"OperationAnalyticsExperimentsCompleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_EXPERIMENT_NOT_FOUND","ANALYTICS_EXPERIMENT_STATUS_CONFLICT","ANALYTICS_EXPERIMENT_PUBLISH_FAILED","ANALYTICS_EXPERIMENT_DEFINITION_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsExperimentsCompleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteErrorDefinitionSchema0"}}]},"OperationAnalyticsExperimentsCompleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteErrorDefinitionSchema1"}}]},"OperationAnalyticsExperimentsCreateInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"The key the site code passes to useVariant(key) / <Variant experiment=\"key\">. Unique per site."},"hypothesis":{"type":"string","minLength":1,"maxLength":2000,"description":"What changes, for whom, and which goal it should move."},"variants":{"minItems":2,"maxItems":10,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"Variant key; one variant must be control."},"weight":{"type":"integer","minimum":0,"maximum":10000,"description":"Relative share of the experiment traffic."}},"required":["key","weight"]},"description":"Variants with relative weights. One must have the key control (the baseline)."},"goalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The active goal of the site that counts as a conversion (analytics.goals.list).","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"measureRevenue":{"default":false,"description":"Judge revenue per visitor from the goal events’ value_cents (payment_succeeded, contract_signed) instead of the conversion rate.","type":"boolean"},"trafficPercent":{"default":100,"description":"Share of visitors that enters the experiment.","type":"integer","minimum":1,"maximum":100},"minSamplePerVariant":{"description":"Visitors every variant needs before a decision. Defaults to the power estimate for minimumDetectableLift.","type":"integer","minimum":1,"maximum":10000000},"minimumDetectableLift":{"default":0.2,"description":"Smallest relative lift worth detecting (0.2 = +20 %), for the sample-size check.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":10},"maxRunDays":{"default":56,"description":"Longest acceptable run; a longer expected run is underpowered.","type":"integer","minimum":1,"maximum":365},"acknowledgeUnderpowered":{"default":false,"description":"Create even when the sample-size check fails (ANALYTICS_EXPERIMENT_UNDERPOWERED) or cannot run.","type":"boolean"},"hostedSiteId":{"description":"Hosted site whose routing worker assigns variants. Omit to use the hosted site linked to this analytics site, if any.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"sites.get"}},"variantChangeId":{"description":"Repository change that built the variants behind useVariant.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"repositories.changes.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","key","hypothesis","variants","goalId"]},"OperationAnalyticsExperimentsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string"},"hypothesis":{"type":"string"},"variants":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"Variant key; one variant must be control."},"weight":{"type":"integer","minimum":0,"maximum":10000,"description":"Relative share of the experiment traffic."}},"required":["key","weight"],"additionalProperties":false}},"goalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"measureRevenue":{"type":"boolean","description":"Whether revenue per visitor (goal events’ value_cents) is the primary metric."},"trafficPercent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Share of visitors in the experiment, 1–100; the rest sees control and is not counted."},"minSamplePerVariant":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Visitors every variant needs before a decision."},"status":{"type":"string","enum":["draft","running","stopped","completed"]},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stoppedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"winnerVariant":{"nullable":true,"description":"Shipped variant of a completed experiment; null when none won.","type":"string"},"hostedSiteId":{"nullable":true,"description":"Hosted site whose routing worker assigns the variants; null off-platform or when derived from the analytics site.","x-moreflow-reference":{"resolver":"sites.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"variantChangeId":{"nullable":true,"description":"Repository change that built the variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cleanupChangeId":{"nullable":true,"description":"Repository change that removes the losing variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cleanupProposal":{"description":"Completed without a linked cleanupChangeId: the repositories.changes.propose call that removes the losing variants (the same call complete returns as next).","type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change, start, stop and complete the experiment."}},"required":["canManage"],"additionalProperties":false},"planning":{"nullable":true,"description":"The sample-size check; null when acknowledged without an event store.","type":"object","properties":{"lookbackDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"baselineConversionRate":{"nullable":true,"description":"Share of visitors with the goal in the lookback; null without visitors.","type":"number"},"dailyVisitors":{"type":"number"},"dailyExperimentVisitors":{"type":"number","description":"dailyVisitors × trafficPercent."},"requiredVisitorsPerVariant":{"nullable":true,"description":"Two-proportion estimate (α 0.05 two-sided, power 0.8) for minimumDetectableLift.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"targetVisitorsPerVariant":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"expectedRunDays":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"underpowered":{"type":"boolean"},"reason":{"type":"string","enum":["ok","run_too_long","no_traffic","no_baseline"]}},"required":["lookbackDays","baselineConversionRate","dailyVisitors","dailyExperimentVisitors","requiredVisitorsPerVariant","targetVisitorsPerVariant","expectedRunDays","underpowered","reason"],"additionalProperties":false}},"required":["id","siteId","key","hypothesis","variants","goalId","measureRevenue","trafficPercent","minSamplePerVariant","status","startedAt","stoppedAt","completedAt","winnerVariant","hostedSiteId","variantChangeId","cleanupChangeId","createdBy","createdAt","updatedAt","capabilities","planning"],"additionalProperties":false},"OperationAnalyticsExperimentsCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateOutputDefinitionSchema0"}}]},"OperationAnalyticsExperimentsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_SITE_NOT_FOUND","ANALYTICS_GOAL_NOT_FOUND","ANALYTICS_EXPERIMENT_KEY_TAKEN","ANALYTICS_EXPERIMENT_DEFINITION_INVALID","ANALYTICS_EXPERIMENT_UNDERPOWERED","ANALYTICS_EVENT_STORE_NOT_CONFIGURED","ANALYTICS_EVENT_STORE_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsExperimentsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateErrorDefinitionSchema0"}}]},"OperationAnalyticsExperimentsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateErrorDefinitionSchema1"}}]},"OperationAnalyticsExperimentsGetInput":{"type":"object","properties":{"experimentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}}},"required":["experimentId"]},"OperationAnalyticsExperimentsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string"},"hypothesis":{"type":"string"},"variants":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"Variant key; one variant must be control."},"weight":{"type":"integer","minimum":0,"maximum":10000,"description":"Relative share of the experiment traffic."}},"required":["key","weight"],"additionalProperties":false}},"goalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"measureRevenue":{"type":"boolean","description":"Whether revenue per visitor (goal events’ value_cents) is the primary metric."},"trafficPercent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Share of visitors in the experiment, 1–100; the rest sees control and is not counted."},"minSamplePerVariant":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Visitors every variant needs before a decision."},"status":{"type":"string","enum":["draft","running","stopped","completed"]},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stoppedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"winnerVariant":{"nullable":true,"description":"Shipped variant of a completed experiment; null when none won.","type":"string"},"hostedSiteId":{"nullable":true,"description":"Hosted site whose routing worker assigns the variants; null off-platform or when derived from the analytics site.","x-moreflow-reference":{"resolver":"sites.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"variantChangeId":{"nullable":true,"description":"Repository change that built the variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cleanupChangeId":{"nullable":true,"description":"Repository change that removes the losing variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cleanupProposal":{"description":"Completed without a linked cleanupChangeId: the repositories.changes.propose call that removes the losing variants (the same call complete returns as next).","type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change, start, stop and complete the experiment."}},"required":["canManage"],"additionalProperties":false}},"required":["id","siteId","key","hypothesis","variants","goalId","measureRevenue","trafficPercent","minSamplePerVariant","status","startedAt","stoppedAt","completedAt","winnerVariant","hostedSiteId","variantChangeId","cleanupChangeId","createdBy","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationAnalyticsExperimentsGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetOutputDefinitionSchema0"}}]},"OperationAnalyticsExperimentsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_EXPERIMENT_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsExperimentsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetErrorDefinitionSchema0"}}]},"OperationAnalyticsExperimentsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetErrorDefinitionSchema1"}}]},"OperationAnalyticsExperimentsListInput":{"type":"object","properties":{"siteId":{"description":"Only this site; omitted means every site.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"status":{"description":"Only experiments with this status.","type":"string","enum":["draft","running","stopped","completed"]}}},"OperationAnalyticsExperimentsListOutput":{"type":"object","properties":{"experiments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string"},"hypothesis":{"type":"string"},"variants":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"Variant key; one variant must be control."},"weight":{"type":"integer","minimum":0,"maximum":10000,"description":"Relative share of the experiment traffic."}},"required":["key","weight"],"additionalProperties":false}},"goalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"measureRevenue":{"type":"boolean","description":"Whether revenue per visitor (goal events’ value_cents) is the primary metric."},"trafficPercent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Share of visitors in the experiment, 1–100; the rest sees control and is not counted."},"minSamplePerVariant":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Visitors every variant needs before a decision."},"status":{"type":"string","enum":["draft","running","stopped","completed"]},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stoppedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"winnerVariant":{"nullable":true,"description":"Shipped variant of a completed experiment; null when none won.","type":"string"},"hostedSiteId":{"nullable":true,"description":"Hosted site whose routing worker assigns the variants; null off-platform or when derived from the analytics site.","x-moreflow-reference":{"resolver":"sites.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"variantChangeId":{"nullable":true,"description":"Repository change that built the variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cleanupChangeId":{"nullable":true,"description":"Repository change that removes the losing variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cleanupProposal":{"description":"Completed without a linked cleanupChangeId: the repositories.changes.propose call that removes the losing variants (the same call complete returns as next).","type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change, start, stop and complete the experiment."}},"required":["canManage"],"additionalProperties":false}},"required":["id","siteId","key","hypothesis","variants","goalId","measureRevenue","trafficPercent","minSamplePerVariant","status","startedAt","stoppedAt","completedAt","winnerVariant","hostedSiteId","variantChangeId","cleanupChangeId","createdBy","createdAt","updatedAt","capabilities"],"additionalProperties":false},"description":"Newest first."}},"required":["experiments"],"additionalProperties":false},"OperationAnalyticsExperimentsListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListOutputDefinitionSchema0"}}]},"OperationAnalyticsExperimentsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_SITE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsExperimentsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListErrorDefinitionSchema0"}}]},"OperationAnalyticsExperimentsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListErrorDefinitionSchema1"}}]},"OperationAnalyticsExperimentsResultsGetInput":{"type":"object","properties":{"experimentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}}},"required":["experimentId"]},"OperationAnalyticsExperimentsResultsGetOutput":{"type":"object","properties":{"experiment":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string"},"hypothesis":{"type":"string"},"variants":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"Variant key; one variant must be control."},"weight":{"type":"integer","minimum":0,"maximum":10000,"description":"Relative share of the experiment traffic."}},"required":["key","weight"],"additionalProperties":false}},"goalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"measureRevenue":{"type":"boolean","description":"Whether revenue per visitor (goal events’ value_cents) is the primary metric."},"trafficPercent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Share of visitors in the experiment, 1–100; the rest sees control and is not counted."},"minSamplePerVariant":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Visitors every variant needs before a decision."},"status":{"type":"string","enum":["draft","running","stopped","completed"]},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stoppedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"winnerVariant":{"nullable":true,"description":"Shipped variant of a completed experiment; null when none won.","type":"string"},"hostedSiteId":{"nullable":true,"description":"Hosted site whose routing worker assigns the variants; null off-platform or when derived from the analytics site.","x-moreflow-reference":{"resolver":"sites.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"variantChangeId":{"nullable":true,"description":"Repository change that built the variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cleanupChangeId":{"nullable":true,"description":"Repository change that removes the losing variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cleanupProposal":{"description":"Completed without a linked cleanupChangeId: the repositories.changes.propose call that removes the losing variants (the same call complete returns as next).","type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change, start, stop and complete the experiment."}},"required":["canManage"],"additionalProperties":false}},"required":["id","siteId","key","hypothesis","variants","goalId","measureRevenue","trafficPercent","minSamplePerVariant","status","startedAt","stoppedAt","completedAt","winnerVariant","hostedSiteId","variantChangeId","cleanupChangeId","createdBy","createdAt","updatedAt","capabilities"],"additionalProperties":false},"window":{"type":"object","properties":{"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["from","to"],"additionalProperties":false},"goal":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"key":{"type":"string"},"eventName":{"type":"string"}},"required":["id","key","eventName"],"additionalProperties":false},"primaryMetric":{"type":"string","enum":["conversion_rate","revenue_per_visitor"]},"variants":{"type":"array","items":{"type":"object","properties":{"variant":{"type":"string"},"isControl":{"type":"boolean"},"weight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"visitors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct visitors whose first exposure in the window was this variant."},"conversions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Of those, visitors with a goal event after their first exposure."},"conversionRate":{"type":"number"},"revenueCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"revenuePerVisitorCents":{"type":"number"},"probabilityToBeatControl":{"nullable":true,"description":"Primary metric; null for control.","type":"number"},"expectedLoss":{"nullable":true,"description":"Expected loss of shipping this variant instead of control, in the primary metric’s unit.","type":"number"},"relativeExpectedLoss":{"nullable":true,"description":"expectedLoss / control mean.","type":"number"},"relativeLift":{"nullable":true,"type":"number"},"conversion":{"type":"object","properties":{"probabilityToBeatControl":{"nullable":true,"type":"number"},"expectedLoss":{"nullable":true,"type":"number"}},"required":["probabilityToBeatControl","expectedLoss"],"additionalProperties":false},"revenue":{"nullable":true,"type":"object","properties":{"probabilityToBeatControl":{"nullable":true,"type":"number"},"expectedLossCents":{"nullable":true,"type":"number"}},"required":["probabilityToBeatControl","expectedLossCents"],"additionalProperties":false}},"required":["variant","isControl","weight","visitors","conversions","conversionRate","revenueCents","revenuePerVisitorCents","probabilityToBeatControl","expectedLoss","relativeExpectedLoss","relativeLift","conversion","revenue"],"additionalProperties":false}},"sampleRatio":{"type":"object","properties":{"pValue":{"nullable":true,"type":"number"},"mismatch":{"type":"boolean","description":"Chi-square of exposed visitors against the weights at p < 0.001: assignment or tracking is broken."},"expectedShares":{"type":"object","additionalProperties":{"type":"number"}}},"required":["pValue","mismatch","expectedShares"],"additionalProperties":false},"progress":{"type":"object","properties":{"minSamplePerVariant":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"smallestVariantVisitors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"ratio":{"type":"number","description":"smallestVariantVisitors / minSamplePerVariant."},"reached":{"type":"boolean"}},"required":["minSamplePerVariant","smallestVariantVisitors","ratio","reached"],"additionalProperties":false},"recommendation":{"type":"string","enum":["keep_running","ship_variant","stop_no_effect"]},"winnerVariant":{"nullable":true,"type":"string"},"reasons":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"],"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"}]}},"description":"Machine-readable reasoning of the recommendation."},"thresholds":{"type":"object","additionalProperties":{"type":"number"}},"method":{"type":"object","properties":{"conversion":{"type":"string"},"revenue":{"type":"string"},"draws":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"seed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["conversion","revenue","draws","seed"],"additionalProperties":false},"next":{"type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetOutputDefinitionSchema0"}}},"required":["operation","args"],"additionalProperties":false,"description":"The operation an agent calls next for this recommendation."}},"required":["experiment","window","goal","primaryMetric","variants","sampleRatio","progress","recommendation","winnerVariant","reasons","thresholds","method","next"],"additionalProperties":false},"OperationAnalyticsExperimentsResultsGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetOutputDefinitionSchema0"}}]},"OperationAnalyticsExperimentsResultsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_EXPERIMENT_NOT_FOUND","ANALYTICS_EXPERIMENT_NOT_STARTED","ANALYTICS_GOAL_NOT_FOUND","ANALYTICS_EVENT_STORE_NOT_CONFIGURED","ANALYTICS_EVENT_STORE_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsExperimentsResultsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetErrorDefinitionSchema0"}}]},"OperationAnalyticsExperimentsResultsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetErrorDefinitionSchema1"}}]},"OperationAnalyticsExperimentsStartInput":{"type":"object","properties":{"experimentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["experimentId"]},"OperationAnalyticsExperimentsStartOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string"},"hypothesis":{"type":"string"},"variants":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"Variant key; one variant must be control."},"weight":{"type":"integer","minimum":0,"maximum":10000,"description":"Relative share of the experiment traffic."}},"required":["key","weight"],"additionalProperties":false}},"goalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"measureRevenue":{"type":"boolean","description":"Whether revenue per visitor (goal events’ value_cents) is the primary metric."},"trafficPercent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Share of visitors in the experiment, 1–100; the rest sees control and is not counted."},"minSamplePerVariant":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Visitors every variant needs before a decision."},"status":{"type":"string","enum":["draft","running","stopped","completed"]},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stoppedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"winnerVariant":{"nullable":true,"description":"Shipped variant of a completed experiment; null when none won.","type":"string"},"hostedSiteId":{"nullable":true,"description":"Hosted site whose routing worker assigns the variants; null off-platform or when derived from the analytics site.","x-moreflow-reference":{"resolver":"sites.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"variantChangeId":{"nullable":true,"description":"Repository change that built the variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cleanupChangeId":{"nullable":true,"description":"Repository change that removes the losing variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cleanupProposal":{"description":"Completed without a linked cleanupChangeId: the repositories.changes.propose call that removes the losing variants (the same call complete returns as next).","type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change, start, stop and complete the experiment."}},"required":["canManage"],"additionalProperties":false}},"required":["id","siteId","key","hypothesis","variants","goalId","measureRevenue","trafficPercent","minSamplePerVariant","status","startedAt","stoppedAt","completedAt","winnerVariant","hostedSiteId","variantChangeId","cleanupChangeId","createdBy","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationAnalyticsExperimentsStartOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartOutputDefinitionSchema0"}}]},"OperationAnalyticsExperimentsStartError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_EXPERIMENT_NOT_FOUND","ANALYTICS_EXPERIMENT_STATUS_CONFLICT","ANALYTICS_EXPERIMENT_PUBLISH_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsExperimentsStartErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartErrorDefinitionSchema0"}}]},"OperationAnalyticsExperimentsStartErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartErrorDefinitionSchema1"}}]},"OperationAnalyticsExperimentsStopInput":{"type":"object","properties":{"experimentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["experimentId"]},"OperationAnalyticsExperimentsStopOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string"},"hypothesis":{"type":"string"},"variants":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"Variant key; one variant must be control."},"weight":{"type":"integer","minimum":0,"maximum":10000,"description":"Relative share of the experiment traffic."}},"required":["key","weight"],"additionalProperties":false}},"goalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"measureRevenue":{"type":"boolean","description":"Whether revenue per visitor (goal events’ value_cents) is the primary metric."},"trafficPercent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Share of visitors in the experiment, 1–100; the rest sees control and is not counted."},"minSamplePerVariant":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Visitors every variant needs before a decision."},"status":{"type":"string","enum":["draft","running","stopped","completed"]},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stoppedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"winnerVariant":{"nullable":true,"description":"Shipped variant of a completed experiment; null when none won.","type":"string"},"hostedSiteId":{"nullable":true,"description":"Hosted site whose routing worker assigns the variants; null off-platform or when derived from the analytics site.","x-moreflow-reference":{"resolver":"sites.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"variantChangeId":{"nullable":true,"description":"Repository change that built the variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cleanupChangeId":{"nullable":true,"description":"Repository change that removes the losing variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cleanupProposal":{"description":"Completed without a linked cleanupChangeId: the repositories.changes.propose call that removes the losing variants (the same call complete returns as next).","type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change, start, stop and complete the experiment."}},"required":["canManage"],"additionalProperties":false}},"required":["id","siteId","key","hypothesis","variants","goalId","measureRevenue","trafficPercent","minSamplePerVariant","status","startedAt","stoppedAt","completedAt","winnerVariant","hostedSiteId","variantChangeId","cleanupChangeId","createdBy","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationAnalyticsExperimentsStopOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopOutputDefinitionSchema0"}}]},"OperationAnalyticsExperimentsStopError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_EXPERIMENT_NOT_FOUND","ANALYTICS_EXPERIMENT_STATUS_CONFLICT","ANALYTICS_EXPERIMENT_PUBLISH_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsExperimentsStopErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopErrorDefinitionSchema0"}}]},"OperationAnalyticsExperimentsStopErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopErrorDefinitionSchema1"}}]},"OperationAnalyticsExperimentsUpdateInput":{"type":"object","properties":{"experimentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"hypothesis":{"type":"string","minLength":1,"maxLength":2000},"minSamplePerVariant":{"type":"integer","minimum":1,"maximum":10000000},"trafficPercent":{"description":"Only while the experiment is a draft.","type":"integer","minimum":1,"maximum":100},"hostedSiteId":{"nullable":true,"description":"Only while the experiment is a draft; null derives it from the analytics site.","x-moreflow-reference":{"resolver":"sites.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"variantChangeId":{"nullable":true,"description":"Repository change that built the variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cleanupChangeId":{"nullable":true,"description":"The pull request that removes the losing variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["experimentId"]},"OperationAnalyticsExperimentsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Experiment id from analytics.experiments.list or analytics.experiments.create.","x-moreflow-reference":{"resolver":"analytics.experiments.get"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string"},"hypothesis":{"type":"string"},"variants":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,64}$","description":"Variant key; one variant must be control."},"weight":{"type":"integer","minimum":0,"maximum":10000,"description":"Relative share of the experiment traffic."}},"required":["key","weight"],"additionalProperties":false}},"goalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"measureRevenue":{"type":"boolean","description":"Whether revenue per visitor (goal events’ value_cents) is the primary metric."},"trafficPercent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Share of visitors in the experiment, 1–100; the rest sees control and is not counted."},"minSamplePerVariant":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Visitors every variant needs before a decision."},"status":{"type":"string","enum":["draft","running","stopped","completed"]},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stoppedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"winnerVariant":{"nullable":true,"description":"Shipped variant of a completed experiment; null when none won.","type":"string"},"hostedSiteId":{"nullable":true,"description":"Hosted site whose routing worker assigns the variants; null off-platform or when derived from the analytics site.","x-moreflow-reference":{"resolver":"sites.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"variantChangeId":{"nullable":true,"description":"Repository change that built the variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cleanupChangeId":{"nullable":true,"description":"Repository change that removes the losing variants.","x-moreflow-reference":{"resolver":"repositories.changes.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cleanupProposal":{"description":"Completed without a linked cleanupChangeId: the repositories.changes.propose call that removes the losing variants (the same call complete returns as next).","type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change, start, stop and complete the experiment."}},"required":["canManage"],"additionalProperties":false}},"required":["id","siteId","key","hypothesis","variants","goalId","measureRevenue","trafficPercent","minSamplePerVariant","status","startedAt","stoppedAt","completedAt","winnerVariant","hostedSiteId","variantChangeId","cleanupChangeId","createdBy","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationAnalyticsExperimentsUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateOutputDefinitionSchema0"}}]},"OperationAnalyticsExperimentsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_EXPERIMENT_NOT_FOUND","ANALYTICS_EXPERIMENT_STATUS_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsExperimentsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateErrorDefinitionSchema0"}}]},"OperationAnalyticsExperimentsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateErrorDefinitionSchema1"}}]},"OperationAnalyticsGoalsArchiveInput":{"type":"object","properties":{"goalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["goalId"]},"OperationAnalyticsGoalsArchiveOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string","description":"Stable machine key, unique among the site’s active goals."},"name":{"type":"string"},"definition":{"type":"object","properties":{"eventName":{"type":"string"},"pathMatch":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["exact","prefix"],"description":"exact: the page path equals value; prefix: it starts with value."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Absolute page path without query or fragment, for example /kontakt."}},"required":["kind","value"],"additionalProperties":false}},"required":["eventName","pathMatch"],"additionalProperties":false},"status":{"type":"string","enum":["active","archived"]},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","key","name","definition","status","createdBy","createdAt","updatedAt","archivedAt"],"additionalProperties":false},"OperationAnalyticsGoalsArchiveError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_GOAL_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsGoalsArchiveErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveErrorDefinitionSchema0"}}]},"OperationAnalyticsGoalsArchiveErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveErrorDefinitionSchema1"}}]},"OperationAnalyticsGoalsCreateInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string","minLength":1,"maxLength":64,"description":"Stable machine key, lower snake_case (lead, booking_started). Unique among the site’s active goals."},"name":{"type":"string","minLength":1,"maxLength":120,"description":"Name shown to people."},"definition":{"type":"object","properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"description":"Event name that counts: pageview, a tracker event such as form_submitted, or a server event such as payment_succeeded. Lower snake_case."},"pathMatch":{"default":null,"description":"Optional page path the event must have; null counts it on every page.","nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["exact","prefix"],"description":"exact: the page path equals value; prefix: it starts with value."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Absolute page path without query or fragment, for example /kontakt."}},"required":["kind","value"]}},"required":["eventName"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","key","name","definition"]},"OperationAnalyticsGoalsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string","description":"Stable machine key, unique among the site’s active goals."},"name":{"type":"string"},"definition":{"type":"object","properties":{"eventName":{"type":"string"},"pathMatch":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["exact","prefix"],"description":"exact: the page path equals value; prefix: it starts with value."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Absolute page path without query or fragment, for example /kontakt."}},"required":["kind","value"],"additionalProperties":false}},"required":["eventName","pathMatch"],"additionalProperties":false},"status":{"type":"string","enum":["active","archived"]},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","key","name","definition","status","createdBy","createdAt","updatedAt","archivedAt"],"additionalProperties":false},"OperationAnalyticsGoalsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_SITE_NOT_FOUND","ANALYTICS_GOAL_KEY_TAKEN","ANALYTICS_GOAL_DEFINITION_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsGoalsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateErrorDefinitionSchema0"}}]},"OperationAnalyticsGoalsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateErrorDefinitionSchema1"}}]},"OperationAnalyticsGoalsListInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"includeArchived":{"default":false,"description":"Also return archived goals.","type":"boolean"}},"required":["siteId"]},"OperationAnalyticsGoalsListOutput":{"type":"object","properties":{"goals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Goal id from analytics.goals.list.","x-moreflow-reference":{"resolver":"analytics.goals.list"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"key":{"type":"string","description":"Stable machine key, unique among the site’s active goals."},"name":{"type":"string"},"definition":{"type":"object","properties":{"eventName":{"type":"string"},"pathMatch":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["exact","prefix"],"description":"exact: the page path equals value; prefix: it starts with value."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Absolute page path without query or fragment, for example /kontakt."}},"required":["kind","value"],"additionalProperties":false}},"required":["eventName","pathMatch"],"additionalProperties":false},"status":{"type":"string","enum":["active","archived"]},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","key","name","definition","status","createdBy","createdAt","updatedAt","archivedAt"],"additionalProperties":false},"description":"Oldest first."}},"required":["goals"],"additionalProperties":false},"OperationAnalyticsGoalsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_SITE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsGoalsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListErrorDefinitionSchema0"}}]},"OperationAnalyticsGoalsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListErrorDefinitionSchema1"}}]},"OperationAnalyticsSitesCreateInput":{"type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":300,"description":"The website’s domain or any URL on it (https://www.example.org/kontakt becomes example.org). Subdomains are covered."},"displayName":{"description":"Name shown in moreflow; defaults to the domain.","type":"string","minLength":1,"maxLength":120},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["domain"]},"OperationAnalyticsSitesCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"domain":{"type":"string","description":"Normalized hostname without scheme, path or leading www. Events are accepted from it and its subdomains."},"displayName":{"type":"string"},"siteKey":{"type":"string","description":"Public write key of the browser tracker (mfs_…). Not a secret: it ships in the page. Rotate it with analytics.sites.rotateKey if it is abused."},"status":{"type":"string","enum":["active","archived"]},"trackerScriptUrl":{"nullable":true,"description":"URL of the served tracker script for the install snippet (<script defer src=\"{trackerScriptUrl}\" data-site=\"{siteKey}\">); null where this deployment has no public analytics ingest origin configured.","type":"string","format":"uri"},"keyRotatedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may rotate the key and define goals."}},"required":["canManage"],"additionalProperties":false}},"required":["id","domain","displayName","siteKey","status","trackerScriptUrl","keyRotatedAt","createdBy","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationAnalyticsSitesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_SITE_DOMAIN_INVALID","ANALYTICS_SITE_DOMAIN_TAKEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsSitesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateErrorDefinitionSchema0"}}]},"OperationAnalyticsSitesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateErrorDefinitionSchema1"}}]},"OperationAnalyticsSitesGetInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}}},"required":["siteId"]},"OperationAnalyticsSitesGetOutput":{"type":"object","properties":{"site":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"domain":{"type":"string","description":"Normalized hostname without scheme, path or leading www. Events are accepted from it and its subdomains."},"displayName":{"type":"string"},"siteKey":{"type":"string","description":"Public write key of the browser tracker (mfs_…). Not a secret: it ships in the page. Rotate it with analytics.sites.rotateKey if it is abused."},"status":{"type":"string","enum":["active","archived"]},"trackerScriptUrl":{"nullable":true,"description":"URL of the served tracker script for the install snippet (<script defer src=\"{trackerScriptUrl}\" data-site=\"{siteKey}\">); null where this deployment has no public analytics ingest origin configured.","type":"string","format":"uri"},"keyRotatedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may rotate the key and define goals."}},"required":["canManage"],"additionalProperties":false}},"required":["id","domain","displayName","siteKey","status","trackerScriptUrl","keyRotatedAt","createdBy","createdAt","updatedAt","capabilities"],"additionalProperties":false},"liveness":{"nullable":true,"description":"Tracker liveness from the event store; null where this deployment has no event store configured.","type":"object","properties":{"lastEventAt":{"nullable":true,"description":"Time of the newest event of the site; null until the tracker has sent one.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"eventsLast24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Events of the site in the 24 hours before the call."}},"required":["lastEventAt","eventsLast24h"],"additionalProperties":false}},"required":["site","liveness"],"additionalProperties":false},"OperationAnalyticsSitesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_SITE_NOT_FOUND","ANALYTICS_EVENT_STORE_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsSitesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetErrorDefinitionSchema0"}}]},"OperationAnalyticsSitesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetErrorDefinitionSchema1"}}]},"OperationAnalyticsSitesListInput":{"type":"object","properties":{"includeArchived":{"default":false,"description":"Also return archived sites.","type":"boolean"}}},"OperationAnalyticsSitesListOutput":{"type":"object","properties":{"sites":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"domain":{"type":"string","description":"Normalized hostname without scheme, path or leading www. Events are accepted from it and its subdomains."},"displayName":{"type":"string"},"siteKey":{"type":"string","description":"Public write key of the browser tracker (mfs_…). Not a secret: it ships in the page. Rotate it with analytics.sites.rotateKey if it is abused."},"status":{"type":"string","enum":["active","archived"]},"trackerScriptUrl":{"nullable":true,"description":"URL of the served tracker script for the install snippet (<script defer src=\"{trackerScriptUrl}\" data-site=\"{siteKey}\">); null where this deployment has no public analytics ingest origin configured.","type":"string","format":"uri"},"keyRotatedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may rotate the key and define goals."}},"required":["canManage"],"additionalProperties":false}},"required":["id","domain","displayName","siteKey","status","trackerScriptUrl","keyRotatedAt","createdBy","createdAt","updatedAt","capabilities"],"additionalProperties":false},"description":"Oldest first."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may register sites, also when the account has none yet."}},"required":["canManage"],"additionalProperties":false}},"required":["sites","capabilities"],"additionalProperties":false},"OperationAnalyticsSitesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsSitesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsSitesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesListErrorDefinitionSchema0"}}]},"OperationAnalyticsSitesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsSitesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesListErrorDefinitionSchema1"}}]},"OperationAnalyticsSitesRotateKeyInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId"]},"OperationAnalyticsSitesRotateKeyOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"domain":{"type":"string","description":"Normalized hostname without scheme, path or leading www. Events are accepted from it and its subdomains."},"displayName":{"type":"string"},"siteKey":{"type":"string","description":"Public write key of the browser tracker (mfs_…). Not a secret: it ships in the page. Rotate it with analytics.sites.rotateKey if it is abused."},"status":{"type":"string","enum":["active","archived"]},"trackerScriptUrl":{"nullable":true,"description":"URL of the served tracker script for the install snippet (<script defer src=\"{trackerScriptUrl}\" data-site=\"{siteKey}\">); null where this deployment has no public analytics ingest origin configured.","type":"string","format":"uri"},"keyRotatedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may rotate the key and define goals."}},"required":["canManage"],"additionalProperties":false}},"required":["id","domain","displayName","siteKey","status","trackerScriptUrl","keyRotatedAt","createdBy","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationAnalyticsSitesRotateKeyError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_SITE_NOT_FOUND","ANALYTICS_SITE_ARCHIVED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsSitesRotateKeyErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyErrorDefinitionSchema0"}}]},"OperationAnalyticsSitesRotateKeyErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyErrorDefinitionSchema1"}}]},"OperationAnalyticsTrafficOverviewGetInput":{"type":"object","properties":{"preset":{"description":"Resolved in the account time zone: this_month and year_to_date end today, last_30_days includes today, last_quarter is the previous calendar quarter.","type":"string","enum":["this_month","last_30_days","last_quarter","year_to_date"]},"startDate":{"description":"First calendar day (YYYY-MM-DD) in the account time zone.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"endDate":{"description":"Last calendar day (YYYY-MM-DD), inclusive.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"path":{"description":"Only events on this exact page path.","type":"string","minLength":1,"maxLength":500},"referrerHost":{"description":"Only events whose referrer host is this, or 'none' for direct traffic without a referrer.","type":"string","minLength":1,"maxLength":500},"utmSource":{"description":"Only events with this utm_source, or 'none' for events without one.","type":"string","minLength":1,"maxLength":500},"utmCampaign":{"description":"Only events with this utm_campaign, or 'none' for events without one.","type":"string","minLength":1,"maxLength":500},"limit":{"default":10,"description":"Rows per top list (pages, referrer hosts, UTM sources, UTM campaigns).","type":"integer","minimum":1,"maximum":100}},"required":["siteId"]},"OperationAnalyticsTrafficOverviewGetOutput":{"type":"object","properties":{"site":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"domain":{"type":"string"}},"required":["id","domain"],"additionalProperties":false},"window":{"type":"object","properties":{"timeZone":{"type":"string"},"preset":{"nullable":true,"type":"string"},"startDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"endDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"dateFrom":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dateTo":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["timeZone","preset","startDate","endDate","dateFrom","dateTo"],"additionalProperties":false},"totals":{"type":"object","properties":{"visitors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct visitor ids. Without consent these rotate daily, so for multi-day ranges a returning anonymous visitor counts once per day."},"pageviews":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Events named pageview."},"sessions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct session ids."}},"required":["visitors","pageviews","sessions"],"additionalProperties":false},"days":{"type":"array","items":{"type":"object","properties":{"day":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"visitors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct visitor ids. Without consent these rotate daily, so for multi-day ranges a returning anonymous visitor counts once per day."},"pageviews":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Events named pageview."},"sessions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct session ids."}},"required":["day","visitors","pageviews","sessions"],"additionalProperties":false},"description":"Days with events, in the account time zone, ascending; days without events are absent."},"topPages":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"pageviews":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"visitors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["path","pageviews","visitors"],"additionalProperties":false}},"topReferrerHosts":{"type":"array","items":{"type":"object","properties":{"referrerHost":{"type":"string"},"pageviews":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"visitors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["referrerHost","pageviews","visitors"],"additionalProperties":false},"description":"Direct traffic (no referrer) is excluded; filter it with referrerHost none."},"topUtmSources":{"type":"array","items":{"type":"object","properties":{"utmSource":{"type":"string"},"pageviews":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"visitors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["utmSource","pageviews","visitors"],"additionalProperties":false}},"topUtmCampaigns":{"type":"array","items":{"type":"object","properties":{"utmCampaign":{"type":"string"},"pageviews":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"visitors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["utmCampaign","pageviews","visitors"],"additionalProperties":false}}},"required":["site","window","totals","days","topPages","topReferrerHosts","topUtmSources","topUtmCampaigns"],"additionalProperties":false},"OperationAnalyticsTrafficOverviewGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_SITE_NOT_FOUND","ANALYTICS_EVENT_STORE_NOT_CONFIGURED","ANALYTICS_EVENT_STORE_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsTrafficOverviewGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetErrorDefinitionSchema0"}}]},"OperationAnalyticsTrafficOverviewGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetErrorDefinitionSchema1"}}]},"OperationAnalyticsUsageGetInput":{"type":"object","properties":{"fromMonth":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","description":"First month (YYYY-MM, UTC), inclusive."},"toMonth":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","description":"Last month (YYYY-MM, UTC), inclusive; at most 24 months after fromMonth."},"siteId":{"description":"Only this site; omitted means every site of the account.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"analytics.sites.get"}}},"required":["fromMonth","toMonth"]},"OperationAnalyticsUsageGetOutput":{"type":"object","properties":{"fromMonth":{"type":"string"},"toMonth":{"type":"string"},"rows":{"type":"array","items":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Analytics site id from analytics.sites.list or analytics.sites.create.","x-moreflow-reference":{"resolver":"analytics.sites.get"}},"domain":{"nullable":true,"type":"string"},"month":{"type":"string"},"events":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Events ingested and stored."},"storageBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Compressed ClickHouse bytes on disk attributed to these events: the month partition's size times their share of its rows."}},"required":["siteId","domain","month","events","storageBytes"],"additionalProperties":false},"description":"One row per site and month with events, ascending by month. domain is null for a site that no longer exists in Postgres."},"totals":{"type":"object","properties":{"events":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Events ingested and stored."},"storageBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Compressed ClickHouse bytes on disk attributed to these events: the month partition's size times their share of its rows."}},"required":["events","storageBytes"],"additionalProperties":false},"months":{"type":"array","items":{"type":"object","properties":{"month":{"type":"string"},"events":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Events ingested and stored."},"storageBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Compressed ClickHouse bytes on disk attributed to these events: the month partition's size times their share of its rows."}},"required":["month","events","storageBytes"],"additionalProperties":false},"description":"Account totals per month with events."}},"required":["fromMonth","toMonth","rows","totals","months"],"additionalProperties":false},"OperationAnalyticsUsageGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","ANALYTICS_USAGE_RANGE_INVALID","ANALYTICS_SITE_NOT_FOUND","ANALYTICS_EVENT_STORE_NOT_CONFIGURED","ANALYTICS_EVENT_STORE_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAnalyticsUsageGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetErrorDefinitionSchema0"}}]},"OperationAnalyticsUsageGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetErrorDefinitionSchema1"}}]},"OperationApiTokensAgentCreateInput":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":120,"description":"Human-readable label for the new token."},"scopes":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","description":"An exact public operation id or a named scope bundle selected at issuance."},"description":"Exact public operation scopes or named bundles expanded at token issuance."},"expiresAt":{"description":"ISO-8601 expiry time in the future. When omitted, the token expires after the default lifetime (defaultExpiryDays from api.tokens.capabilities.get).","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"allowedDomains":{"description":"Optional allowed browser origins.","maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255,"description":"Browser origin hostname permitted to use this token; omit for server-to-server use."}},"allowedFormIds":{"description":"Optional public form restrictions.","maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Public form identifier this token may access; omit for no form restriction."}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["label","scopes"]},"OperationApiTokensAgentCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable API token identifier."},"label":{"type":"string","description":"Human-readable token label."},"tokenPrefix":{"type":"string","description":"Non-secret token preview shown after issuance."},"scopes":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-zA-Z0-9_-]*(?:\\.[a-zA-Z0-9_-]+)+$","description":"One exact public operation identifier granted to this token."},"description":"Exact public operation scopes granted to this token."},"allowedDomains":{"type":"array","items":{"type":"string","minLength":1,"maxLength":255,"description":"Browser origin hostname permitted to use this token; omit for server-to-server use."},"description":"Allowed request origins."},"allowedFormIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Public form identifier this token may access; omit for no form restriction."},"description":"Allowed public form identifiers."},"enabled":{"type":"boolean","description":"Whether the token has not been revoked."},"readOnly":{"type":"boolean","description":"Whether the token is restricted to query operations."},"rateLimited":{"type":"boolean","description":"Whether the protective token rate limit applies."},"createdBy":{"nullable":true,"description":"Actor that issued the token, when known.","type":"string"},"origin":{"type":"object","properties":{"kind":{"type":"string","enum":["session","api_token","oauth_grant"],"description":"Credential kind that issued this token: an interactive session, another API token, or an OAuth grant."},"credentialId":{"nullable":true,"description":"Identifier of the issuing API token or OAuth access grant; null for sessions. The value is an opaque identifier.","type":"string"},"credentialLabel":{"nullable":true,"description":"Label of the issuing API token when it belongs to this account.","type":"string"}},"required":["kind","credentialId","credentialLabel"],"additionalProperties":false,"description":"Where this token was minted, so agent-issued credentials stay attributable."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Token issuance time."},"expiresAt":{"nullable":true,"description":"Expiry time; null only for tokens issued before default expiry existed.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revokedAt":{"nullable":true,"description":"Revocation time, if revoked.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastUsedAt":{"nullable":true,"description":"Most recent admitted use time.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stale":{"type":"boolean","description":"Whether this active token has not been used (or, if never used, was issued) at least staleAfterDays ago; revoke tokens no integration needs."},"token":{"type":"string","description":"One-time bearer secret. Store it securely; it is never returned again."}},"required":["id","label","tokenPrefix","scopes","allowedDomains","allowedFormIds","enabled","readOnly","rateLimited","createdBy","origin","createdAt","expiresAt","revokedAt","lastUsedAt","stale","token"],"additionalProperties":false},"OperationApiTokensAgentCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","POLICY_DENIED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationApiTokensAgentCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateErrorDefinitionSchema0"}}]},"OperationApiTokensAgentCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateErrorDefinitionSchema1"}}]},"OperationApiTokensAgentListInput":{"type":"object","properties":{"cursor":{"type":"string","minLength":1},"limit":{"default":50,"description":"Maximum number of token metadata records to return.","type":"integer","minimum":1,"maximum":100}}},"OperationApiTokensAgentListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable API token identifier."},"label":{"type":"string","description":"Human-readable token label."},"tokenPrefix":{"type":"string","description":"Non-secret token preview shown after issuance."},"scopes":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-zA-Z0-9_-]*(?:\\.[a-zA-Z0-9_-]+)+$","description":"One exact public operation identifier granted to this token."},"description":"Exact public operation scopes granted to this token."},"allowedDomains":{"type":"array","items":{"type":"string","minLength":1,"maxLength":255,"description":"Browser origin hostname permitted to use this token; omit for server-to-server use."},"description":"Allowed request origins."},"allowedFormIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Public form identifier this token may access; omit for no form restriction."},"description":"Allowed public form identifiers."},"enabled":{"type":"boolean","description":"Whether the token has not been revoked."},"readOnly":{"type":"boolean","description":"Whether the token is restricted to query operations."},"rateLimited":{"type":"boolean","description":"Whether the protective token rate limit applies."},"createdBy":{"nullable":true,"description":"Actor that issued the token, when known.","type":"string"},"origin":{"type":"object","properties":{"kind":{"type":"string","enum":["session","api_token","oauth_grant"],"description":"Credential kind that issued this token: an interactive session, another API token, or an OAuth grant."},"credentialId":{"nullable":true,"description":"Identifier of the issuing API token or OAuth access grant; null for sessions. The value is an opaque identifier.","type":"string"},"credentialLabel":{"nullable":true,"description":"Label of the issuing API token when it belongs to this account.","type":"string"}},"required":["kind","credentialId","credentialLabel"],"additionalProperties":false,"description":"Where this token was minted, so agent-issued credentials stay attributable."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Token issuance time."},"expiresAt":{"nullable":true,"description":"Expiry time; null only for tokens issued before default expiry existed.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revokedAt":{"nullable":true,"description":"Revocation time, if revoked.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastUsedAt":{"nullable":true,"description":"Most recent admitted use time.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stale":{"type":"boolean","description":"Whether this active token has not been used (or, if never used, was issued) at least staleAfterDays ago; revoke tokens no integration needs."}},"required":["id","label","tokenPrefix","scopes","allowedDomains","allowedFormIds","enabled","readOnly","rateLimited","createdBy","origin","createdAt","expiresAt","revokedAt","lastUsedAt","stale"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationApiTokensAgentListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR","AUTH_ERROR","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationApiTokensAgentListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationApiTokensAgentListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentListErrorDefinitionSchema0"}}]},"OperationApiTokensAgentListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationApiTokensAgentListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentListErrorDefinitionSchema1"}}]},"OperationApiTokensAgentRevokeInput":{"type":"object","properties":{"tokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable API token identifier."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["tokenId"]},"OperationApiTokensAgentRevokeOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable API token identifier."},"label":{"type":"string","description":"Human-readable token label."},"tokenPrefix":{"type":"string","description":"Non-secret token preview shown after issuance."},"scopes":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-zA-Z0-9_-]*(?:\\.[a-zA-Z0-9_-]+)+$","description":"One exact public operation identifier granted to this token."},"description":"Exact public operation scopes granted to this token."},"allowedDomains":{"type":"array","items":{"type":"string","minLength":1,"maxLength":255,"description":"Browser origin hostname permitted to use this token; omit for server-to-server use."},"description":"Allowed request origins."},"allowedFormIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Public form identifier this token may access; omit for no form restriction."},"description":"Allowed public form identifiers."},"enabled":{"type":"boolean","description":"Whether the token has not been revoked."},"readOnly":{"type":"boolean","description":"Whether the token is restricted to query operations."},"rateLimited":{"type":"boolean","description":"Whether the protective token rate limit applies."},"createdBy":{"nullable":true,"description":"Actor that issued the token, when known.","type":"string"},"origin":{"type":"object","properties":{"kind":{"type":"string","enum":["session","api_token","oauth_grant"],"description":"Credential kind that issued this token: an interactive session, another API token, or an OAuth grant."},"credentialId":{"nullable":true,"description":"Identifier of the issuing API token or OAuth access grant; null for sessions. The value is an opaque identifier.","type":"string"},"credentialLabel":{"nullable":true,"description":"Label of the issuing API token when it belongs to this account.","type":"string"}},"required":["kind","credentialId","credentialLabel"],"additionalProperties":false,"description":"Where this token was minted, so agent-issued credentials stay attributable."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Token issuance time."},"expiresAt":{"nullable":true,"description":"Expiry time; null only for tokens issued before default expiry existed.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revokedAt":{"nullable":true,"description":"Revocation time, if revoked.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastUsedAt":{"nullable":true,"description":"Most recent admitted use time.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stale":{"type":"boolean","description":"Whether this active token has not been used (or, if never used, was issued) at least staleAfterDays ago; revoke tokens no integration needs."}},"required":["id","label","tokenPrefix","scopes","allowedDomains","allowedFormIds","enabled","readOnly","rateLimited","createdBy","origin","createdAt","expiresAt","revokedAt","lastUsedAt","stale"],"additionalProperties":false},"OperationApiTokensAgentRevokeError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AUTH_ERROR","FORBIDDEN","NOT_FOUND","INVALID_STATE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationApiTokensAgentRevokeErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeErrorDefinitionSchema0"}}]},"OperationApiTokensAgentRevokeErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeErrorDefinitionSchema1"}}]},"OperationApiTokensAgentRotateInput":{"type":"object","properties":{"tokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable API token identifier."},"overlapSeconds":{"default":0,"description":"Seconds during which the rotated predecessor remains valid (0–86400).","type":"integer","minimum":0,"maximum":86400},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["tokenId"]},"OperationApiTokensAgentRotateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable API token identifier."},"label":{"type":"string","description":"Human-readable token label."},"tokenPrefix":{"type":"string","description":"Non-secret token preview shown after issuance."},"scopes":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-zA-Z0-9_-]*(?:\\.[a-zA-Z0-9_-]+)+$","description":"One exact public operation identifier granted to this token."},"description":"Exact public operation scopes granted to this token."},"allowedDomains":{"type":"array","items":{"type":"string","minLength":1,"maxLength":255,"description":"Browser origin hostname permitted to use this token; omit for server-to-server use."},"description":"Allowed request origins."},"allowedFormIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Public form identifier this token may access; omit for no form restriction."},"description":"Allowed public form identifiers."},"enabled":{"type":"boolean","description":"Whether the token has not been revoked."},"readOnly":{"type":"boolean","description":"Whether the token is restricted to query operations."},"rateLimited":{"type":"boolean","description":"Whether the protective token rate limit applies."},"createdBy":{"nullable":true,"description":"Actor that issued the token, when known.","type":"string"},"origin":{"type":"object","properties":{"kind":{"type":"string","enum":["session","api_token","oauth_grant"],"description":"Credential kind that issued this token: an interactive session, another API token, or an OAuth grant."},"credentialId":{"nullable":true,"description":"Identifier of the issuing API token or OAuth access grant; null for sessions. The value is an opaque identifier.","type":"string"},"credentialLabel":{"nullable":true,"description":"Label of the issuing API token when it belongs to this account.","type":"string"}},"required":["kind","credentialId","credentialLabel"],"additionalProperties":false,"description":"Where this token was minted, so agent-issued credentials stay attributable."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Token issuance time."},"expiresAt":{"nullable":true,"description":"Expiry time; null only for tokens issued before default expiry existed.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revokedAt":{"nullable":true,"description":"Revocation time, if revoked.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastUsedAt":{"nullable":true,"description":"Most recent admitted use time.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stale":{"type":"boolean","description":"Whether this active token has not been used (or, if never used, was issued) at least staleAfterDays ago; revoke tokens no integration needs."},"token":{"type":"string","description":"One-time replacement bearer secret."},"replacedTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of the revoked predecessor."}},"required":["id","label","tokenPrefix","scopes","allowedDomains","allowedFormIds","enabled","readOnly","rateLimited","createdBy","origin","createdAt","expiresAt","revokedAt","lastUsedAt","stale","token","replacedTokenId"],"additionalProperties":false,"description":"Replacement token with a fresh 90-day default expiry computed from rotation time."},"OperationApiTokensAgentRotateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AUTH_ERROR","FORBIDDEN","NOT_FOUND","INVALID_STATE","CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationApiTokensAgentRotateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateErrorDefinitionSchema0"}}]},"OperationApiTokensAgentRotateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateErrorDefinitionSchema1"}}]},"OperationAutomationsFailedRunsListInput":{"type":"object","properties":{"automationId":{"description":"Only failed runs of this automation.","x-moreflow-reference":{"resolver":"automations.list"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"cursor":{"description":"Opaque nextCursor from the previous page; omit for the first page.","type":"string","minLength":1},"limit":{"default":25,"description":"Page size. Defaults to 25, maximum 100.","type":"integer","minimum":1,"maximum":100},"includeAcknowledged":{"default":false,"description":"Also list broken steps whose failures are all acknowledged. Defaults to false.","type":"boolean"},"failedSince":{"description":"Only broken steps whose newest open failure happened at or after this ISO date-time, for example 30 days ago. Omit to list every open failure.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}}},"OperationAutomationsFailedRunsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"automationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"automations.list"}},"automationName":{"type":"string","description":"Automation name; empty when the automation record is missing."},"status":{"type":"string","description":"failed or dead_lettered."},"failedAt":{"type":"string","description":"When the run finished, or its last update when it has no finish time."},"failedStep":{"type":"object","properties":{"nodeId":{"nullable":true,"description":"Node identifier of the failed step, when recorded.","x-moreflow-opaque":{"reason":"Node id of the automation graph step, a label inside the graph definition rather than a standalone resource."},"type":"string"}},"required":["nodeId"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable failure classification code, for example INVALID_NODE_CONFIG."},"category":{"type":"string","description":"Failure category from the automation error taxonomy."},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"],"description":"Who can resolve the failure: the caller, a retry, an operator, or nobody."},"retryable":{"type":"boolean","description":"Whether retrying the run can succeed without a change."},"message":{"nullable":true,"description":"Short prose diagnostic from the failed step; null when none is readable.","type":"string"},"recovery":{"description":"Operation that recovers from this failure, when the taxonomy names one.","type":"object","properties":{"operation":{"type":"string"}},"required":["operation"],"additionalProperties":false}},"required":["code","category","recoverability","retryable","message"],"additionalProperties":false},"occurrenceCount":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Open failed runs of this broken step (same automation, error code and failed step); this item describes the newest."},"firstFailedAt":{"type":"string","description":"When the oldest open failed run of this broken step failed."},"acknowledgedAt":{"nullable":true,"description":"When the newest run was acknowledged, once every open failed run of the step is acknowledged; null while any is unacknowledged.","type":"string"},"acknowledgedByUserId":{"nullable":true,"description":"User who acknowledged the newest run; null when unacknowledged or acknowledged by a service caller.","x-moreflow-reference":{"resolver":"users.memberships.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["runId","automationId","automationName","status","failedAt","failedStep","error","occurrenceCount","firstFailedAt","acknowledgedAt","acknowledgedByUserId"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Opaque cursor for the next page, or null on the last page.","type":"string"},"canManage":{"type":"boolean","description":"Whether the caller may retry or acknowledge runs (account owner or admin)."},"unreadableRunCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Broken steps on this page whose newest failed run could not be read; they are counted, not listed."}},"required":["items","nextCursor","canManage","unreadableRunCount"],"additionalProperties":false},"OperationAutomationsFailedRunsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAutomationsFailedRunsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListErrorDefinitionSchema0"}}]},"OperationAutomationsFailedRunsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListErrorDefinitionSchema1"}}]},"OperationAutomationsGetInput":{"type":"object","properties":{"automationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Automation id, as returned by automations.list.","x-moreflow-reference":{"resolver":"automations.list"}}},"required":["automationId"]},"OperationAutomationsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"folderId":{"x-moreflow-opaque":{"reason":"Automation folder id used to group automations; folders have no public list operation, so it is not a resolvable handle."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"description":{"type":"string"},"triggerEvent":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","paused","archived"]},"statusReason":{"type":"string"},"createdByUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authoringRunId":{"x-moreflow-opaque":{"reason":"Id of the Flow authoring run that produced this automation; it names an internal Flow run, not an automation handle."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"approvedByUserId":{"x-moreflow-opaque":{"reason":"Id of the user who approved the automation; a user identifier with no public resolver."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"archivedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","accountId","name","status","createdAt","updatedAt"],"additionalProperties":false},"OperationAutomationsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAutomationsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsGetErrorDefinitionSchema0"}}]},"OperationAutomationsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsGetErrorDefinitionSchema1"}}]},"OperationAutomationsListInput":{"type":"object","properties":{"folderId":{"description":"Only automations in this folder.","x-moreflow-opaque":{"reason":"Automation folder id used to group automations; folders have no public list operation, so it is not a resolvable handle."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"description":"Only automations with this status: draft, active, paused, or archived.","type":"string","enum":["draft","active","paused","archived"]},"triggerEvent":{"description":"Only automations that start on this trigger event, such as tag_added.","type":"string"},"cursor":{"description":"Opaque nextCursor from the previous page; omit for the first page.","type":"string","minLength":1},"limit":{"description":"Page size; defaults to 100, maximum 200.","type":"integer","minimum":1,"maximum":200}}},"OperationAutomationsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"folderId":{"x-moreflow-opaque":{"reason":"Automation folder id used to group automations; folders have no public list operation, so it is not a resolvable handle."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"description":{"type":"string"},"triggerEvent":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","paused","archived"]},"statusReason":{"type":"string"},"createdByUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authoringRunId":{"x-moreflow-opaque":{"reason":"Id of the Flow authoring run that produced this automation; it names an internal Flow run, not an automation handle."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"approvedByUserId":{"x-moreflow-opaque":{"reason":"Id of the user who approved the automation; a user identifier with no public resolver."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"archivedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"canManage":{"type":"boolean","description":"Whether the caller may change automation lifecycle status."}},"required":["id","accountId","name","status","createdAt","updatedAt","canManage"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Opaque cursor for the next page, or null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationAutomationsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAutomationsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsListErrorDefinitionSchema0"}}]},"OperationAutomationsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsListErrorDefinitionSchema1"}}]},"OperationAutomationsRunsGetInput":{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Run id, as returned by automations.runs.list or automations.failedRuns.list.","x-moreflow-reference":{"resolver":"automations.runs.list"}},"collectionLimit":{"default":50,"description":"Entries per collection; defaults to 50, maximum 100.","type":"integer","minimum":1,"maximum":100}},"required":["runId"]},"OperationAutomationsRunsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"automationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"automations.list"}},"liveVersionId":{"x-moreflow-opaque":{"reason":"Automation version id; versions have no public list operation and are reached only through their automation."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"draftVersionId":{"x-moreflow-opaque":{"reason":"Automation version id; versions have no public list operation and are reached only through their automation."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["queued","running","waiting","succeeded","failed","cancelled","dead_lettered","skipped"]},"mode":{"type":"string","enum":["live","simulation"]},"triggerEvent":{"type":"string","minLength":1},"sourceEventId":{"type":"string"},"idempotencyKey":{"type":"string"},"workflowId":{"type":"string"},"parentRunId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"attemptNumber":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"retryReason":{"type":"string"},"retryActorId":{"x-moreflow-opaque":{"reason":"Id of the user or service that requested the retry; actor identifiers have no public resolver."},"type":"string"},"triggerPayload":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"variables":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"error":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"queuedAt":{"type":"string"},"startedAt":{"type":"string"},"finishedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"affectedClient":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["authorized"]},"clientId":{"type":"string","minLength":1},"offerId":{"type":"string","minLength":1},"contractId":{"type":"string","minLength":1}},"required":["status","clientId"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["restricted","missing","legacy_unlinked","unavailable"]},"clientId":{"type":"string","minLength":1},"offerId":{"type":"string","minLength":1},"contractId":{"type":"string","minLength":1}},"required":["status"],"additionalProperties":false}]},"logs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"nodeId":{"x-moreflow-opaque":{"reason":"Node id of the automation graph step, a label inside the graph definition rather than a standalone resource."},"type":"string"},"level":{"type":"string","enum":["debug","info","warn","error"]},"message":{"type":"string"},"data":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"createdAt":{"type":"string"}},"required":["id","accountId","runId","level","message","data","createdAt"],"additionalProperties":false}},"waits":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"nodeId":{"type":"string","x-moreflow-opaque":{"reason":"Node id of the automation graph step, a label inside the graph definition rather than a standalone resource."}},"status":{"type":"string","enum":["scheduled","released","cancelled","expired"]},"resumeAt":{"type":"string"},"reason":{"type":"string"},"payload":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"releasedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","accountId","runId","nodeId","status","resumeAt","payload","createdAt","updatedAt"],"additionalProperties":false}},"actionExecutions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"nodeId":{"type":"string","x-moreflow-opaque":{"reason":"Node id of the automation graph step, a label inside the graph definition rather than a standalone resource."}},"actionType":{"type":"string"},"status":{"type":"string","enum":["queued","running","succeeded","failed","retry_scheduled","skipped"]},"attempt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"idempotencyKey":{"type":"string"},"input":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"output":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"error":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"nextRetryAt":{"type":"string"},"startedAt":{"type":"string"},"finishedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","accountId","runId","nodeId","actionType","status","attempt","idempotencyKey","input","createdAt","updatedAt"],"additionalProperties":false}},"deadLetters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"nodeId":{"x-moreflow-opaque":{"reason":"Node id of the automation graph step, a label inside the graph definition rather than a standalone resource."},"type":"string"},"status":{"type":"string","enum":["open","retrying","resolved","ignored","expired"]},"reason":{"type":"string"},"error":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"recovery":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"resolvedByUserId":{"x-moreflow-opaque":{"reason":"Id of the user who resolved the dead letter; a user identifier with no public resolver."},"type":"string"},"resolvedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","accountId","runId","status","reason","error","createdAt","updatedAt"],"additionalProperties":false}},"externalOperations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actionExecutionId":{"x-moreflow-opaque":{"reason":"Id of an internal action execution of the run; executions are shown inline by automations.runs.get and have no standalone public resolver."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"provider":{"type":"string"},"guarantee":{"type":"string"},"providerOperationKey":{"type":"string"},"providerRequestId":{"type":"string"},"providerResourceId":{"x-moreflow-opaque":{"reason":"External provider resource id, stored as provided; it is not a Moreflow resource handle."},"type":"string"},"operationType":{"type":"string"},"providerOperationId":{"x-moreflow-opaque":{"reason":"External provider operation id, stored as provided; it is not a Moreflow resource handle."},"type":"string"},"idempotencyKey":{"type":"string"},"status":{"type":"string"},"attempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"request":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"response":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"reconciliation":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"error":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"confirmedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","accountId","provider","operationType","idempotencyKey","status","attempts","request","createdAt","updatedAt"],"additionalProperties":false}},"executionArtifact":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"compiledArtifact":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},"graphHash":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","accountId","runId","compiledArtifact","createdAt"],"additionalProperties":false},"collections":{"type":"object","properties":{"logs":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"truncated":{"type":"boolean","description":"True when more entries exist than the returned collection."},"nextCursor":{"type":"string"}},"required":["count","truncated"],"additionalProperties":false},"waits":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"truncated":{"type":"boolean","description":"True when more entries exist than the returned collection."},"nextCursor":{"type":"string"}},"required":["count","truncated"],"additionalProperties":false},"actionExecutions":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"truncated":{"type":"boolean","description":"True when more entries exist than the returned collection."},"nextCursor":{"type":"string"}},"required":["count","truncated"],"additionalProperties":false},"deadLetters":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"truncated":{"type":"boolean","description":"True when more entries exist than the returned collection."},"nextCursor":{"type":"string"}},"required":["count","truncated"],"additionalProperties":false},"externalOperations":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"truncated":{"type":"boolean","description":"True when more entries exist than the returned collection."},"nextCursor":{"type":"string"}},"required":["count","truncated"],"additionalProperties":false}},"required":["logs","waits","actionExecutions","deadLetters","externalOperations"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canCancel":{"type":"boolean"},"canRetry":{"type":"boolean"},"canReplay":{"type":"boolean"}},"required":["canCancel","canRetry","canReplay"],"additionalProperties":false},"partial":{"type":"boolean"}},"required":["id","accountId","automationId","status","mode","triggerEvent","idempotencyKey","attemptNumber","triggerPayload","variables","queuedAt","createdAt","updatedAt","logs","waits","actionExecutions","deadLetters","externalOperations","collections","capabilities","partial"],"additionalProperties":false},"OperationAutomationsRunsGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutputDefinitionSchema0"}}]},"OperationAutomationsRunsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAutomationsRunsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsRunsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetErrorDefinitionSchema0"}}]},"OperationAutomationsRunsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsRunsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsGetErrorDefinitionSchema1"}}]},"OperationAutomationsRunsListInput":{"type":"object","properties":{"automationId":{"description":"Only runs of this automation.","x-moreflow-reference":{"resolver":"automations.list"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"description":"Only runs in this status.","type":"string","enum":["queued","running","waiting","succeeded","failed","cancelled","dead_lettered","skipped"]},"mode":{"description":"Only live runs or only test (simulation) runs; omit for both.","type":"string","enum":["live","simulation"]},"cursor":{"description":"Opaque nextCursor from the previous page; omit for the first page.","type":"string","minLength":1},"order":{"default":"desc","description":"Sort by creation time: desc (newest first, the default) or asc.","type":"string","enum":["asc","desc"]},"limit":{"default":50,"description":"Page size; defaults to 50, maximum 200.","type":"integer","minimum":1,"maximum":200}}},"OperationAutomationsRunsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"automationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"automations.list"}},"liveVersionId":{"x-moreflow-opaque":{"reason":"Automation version id; versions have no public list operation and are reached only through their automation."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"draftVersionId":{"x-moreflow-opaque":{"reason":"Automation version id; versions have no public list operation and are reached only through their automation."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["queued","running","waiting","succeeded","failed","cancelled","dead_lettered","skipped"]},"mode":{"type":"string","enum":["live","simulation"]},"triggerEvent":{"type":"string","minLength":1},"sourceEventId":{"type":"string"},"idempotencyKey":{"type":"string"},"workflowId":{"type":"string"},"parentRunId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"attemptNumber":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"retryReason":{"type":"string"},"retryActorId":{"x-moreflow-opaque":{"reason":"Id of the user or service that requested the retry; actor identifiers have no public resolver."},"type":"string"},"triggerPayload":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsListOutputDefinitionSchema0"}},"variables":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsListOutputDefinitionSchema0"}},"error":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsListOutputDefinitionSchema0"}},"queuedAt":{"type":"string"},"startedAt":{"type":"string"},"finishedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"subject":{"nullable":true,"description":"The client the run is about, from its trigger; null when the trigger names no client.","oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["authorized"]},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string","description":"Client name, else email, as shown in the CRM."}},"required":["status","clientId","displayName"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["restricted","missing","unavailable"],"description":"restricted: the caller may not see the client; missing: it was deleted; unavailable: it could not be checked."}},"required":["status"],"additionalProperties":false}]},"stoppedStep":{"nullable":true,"description":"Where a failed or waiting run stopped; null for other statuses or when the step was not recorded.","type":"object","properties":{"reason":{"type":"string","enum":["failed","waiting"],"description":"failed: the step failed the run; waiting: the run is parked on the step."},"nodeId":{"type":"string","x-moreflow-opaque":{"reason":"Node id of the automation graph step, a label inside the graph definition rather than a standalone resource."}},"definitionId":{"description":"Step type, for example send_email.","x-moreflow-opaque":{"reason":"Step type name from the automation step catalog, not a resource handle."},"type":"string"},"kind":{"description":"Node kind: trigger, action, wait, path.","type":"string"},"labelKey":{"description":"Message key of the step name, when the step uses a built-in name.","type":"string"},"label":{"description":"Step name given in the editor.","type":"string"}},"required":["reason","nodeId"],"additionalProperties":false}},"required":["id","accountId","automationId","status","mode","triggerEvent","idempotencyKey","attemptNumber","triggerPayload","variables","queuedAt","createdAt","updatedAt","subject","stoppedStep"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Opaque cursor for the next page, or null on the last page.","type":"string"},"degraded":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["PERSISTED_RUN_INVALID"]},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["code","runId"],"additionalProperties":false}}},"required":["items","nextCursor","degraded"],"additionalProperties":false},"OperationAutomationsRunsListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsRunsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsListOutputDefinitionSchema0"}}]},"OperationAutomationsRunsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAutomationsRunsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsRunsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsListErrorDefinitionSchema0"}}]},"OperationAutomationsRunsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsRunsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsListErrorDefinitionSchema1"}}]},"OperationAutomationsRunsStatsGetInput":{"type":"object","properties":{"automationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Automation whose live runs are counted.","x-moreflow-reference":{"resolver":"automations.list"}},"days":{"default":30,"description":"Length of the window ending now, in days; defaults to 30, maximum 90.","type":"integer","minimum":1,"maximum":90}},"required":["automationId"]},"OperationAutomationsRunsStatsGetOutput":{"type":"object","properties":{"id":{"type":"string","description":"Statistics resource identity: automation id and window length in days."},"automationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"automations.list"}},"days":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Window length the counts cover, in days."},"since":{"type":"string","description":"Start of the window (ISO timestamp); runs created at or after it count."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Live runs created in the window, in any status."},"succeeded":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Of those, runs that succeeded."},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Of those, runs that failed or were dead-lettered."}},"required":["id","automationId","days","since","total","succeeded","failed"],"additionalProperties":false},"OperationAutomationsRunsStatsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAutomationsRunsStatsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetErrorDefinitionSchema0"}}]},"OperationAutomationsRunsStatsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetErrorDefinitionSchema1"}}]},"OperationAutomationsStatusUpdateInput":{"type":"object","properties":{"automationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Automation id to change.","x-moreflow-reference":{"resolver":"automations.list"}},"status":{"type":"string","enum":["draft","active","paused","archived"],"description":"Target status: paused to pause, active to resume, or archived (irreversible)."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["automationId","status"]},"OperationAutomationsStatusUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"folderId":{"x-moreflow-opaque":{"reason":"Automation folder id used to group automations; folders have no public list operation, so it is not a resolvable handle."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"description":{"type":"string"},"triggerEvent":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","paused","archived"]},"statusReason":{"type":"string"},"createdByUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authoringRunId":{"x-moreflow-opaque":{"reason":"Id of the Flow authoring run that produced this automation; it names an internal Flow run, not an automation handle."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"approvedByUserId":{"x-moreflow-opaque":{"reason":"Id of the user who approved the automation; a user identifier with no public resolver."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"archivedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","accountId","name","status","createdAt","updatedAt"],"additionalProperties":false},"OperationAutomationsStatusUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_STATE_TRANSITION"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationAutomationsStatusUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateErrorDefinitionSchema0"}}]},"OperationAutomationsStatusUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateErrorDefinitionSchema1"}}]},"OperationBillingEntitlementsGetInput":{"type":"object","properties":{"capabilities":{"type":"array","items":{"type":"string","enum":["powerDialer","chatbotSupportMode"]}},"usage":{"type":"array","items":{"type":"string","enum":["email","sms","automation_runs","ai_usage","api_requests","users","chatbots","sending_domains","storage_bytes","whatsapp"]}},"doses":{"description":"Dose keys to resolve; retired keys such as apiTokens are accepted and omitted from the result.","type":"array","items":{"type":"string","enum":["creativeImages","emailCampaigns","emailCampaignRecipients","powerDialerSessions","powerDialerCallsPerSession","paywiseClaims","adsRecommendationApplies","automationScenarios","chatbotRagSources","flowVoiceMinutes","apiTokens","contentLabIdeas","contentLabPublications"]}},"features":{"type":"array","items":{"type":"string","enum":["clientPortal","installments","dunning"]}}}},"OperationBillingEntitlementsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string"},"pricingPlanId":{"nullable":true,"type":"string"},"tierSlug":{"nullable":true,"type":"string","enum":["base","pro","max","enterprise"]},"capabilities":{"type":"object","additionalProperties":{"type":"object","properties":{"allowed":{"type":"boolean"},"reason":{"nullable":true,"type":"string","enum":["plan_unresolved","plan_inactive","billing_onboarding_incomplete","capability_not_included","limit_reached","ghost_only","counter_unavailable"]},"limit":{"default":null,"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"current":{"default":null,"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remaining":{"default":null,"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["allowed","reason","limit","current","remaining"],"additionalProperties":false}},"usage":{"type":"object","additionalProperties":{"type":"object","properties":{"allowed":{"type":"boolean"},"reason":{"nullable":true,"type":"string","enum":["plan_unresolved","plan_inactive","billing_onboarding_incomplete","capability_not_included","limit_reached","ghost_only","counter_unavailable"]},"limit":{"default":null,"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"current":{"default":null,"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remaining":{"default":null,"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["allowed","reason","limit","current","remaining"],"additionalProperties":false}},"doses":{"type":"object","additionalProperties":{"type":"object","properties":{"allowed":{"type":"boolean"},"reason":{"nullable":true,"type":"string","enum":["plan_unresolved","plan_inactive","billing_onboarding_incomplete","capability_not_included","limit_reached","ghost_only","counter_unavailable"]},"limit":{"default":null,"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"current":{"default":null,"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remaining":{"default":null,"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["allowed","reason","limit","current","remaining"],"additionalProperties":false}},"features":{"type":"object","additionalProperties":{"type":"object","properties":{"available":{"type":"boolean"},"reason":{"nullable":true,"type":"string","enum":["plan","plan_unresolved","plan_inactive","billing_onboarding_incomplete"]},"upgradeTo":{"type":"string","enum":["base","pro","max","enterprise"]}},"required":["available","reason","upgradeTo"],"additionalProperties":false}}},"required":["id","accountId","pricingPlanId","tierSlug","capabilities","usage","doses","features"],"additionalProperties":false},"OperationBillingEntitlementsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationBillingEntitlementsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetErrorDefinitionSchema0"}}]},"OperationBillingEntitlementsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetErrorDefinitionSchema1"}}]},"OperationCalendarsListInput":{"type":"object","properties":{"ownerUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Only include calendars owned by this user.","x-domain-id":"UserId"},"cursor":{"type":"string","minLength":1,"description":"Opaque cursor returned by the preceding page."},"limit":{"default":25,"description":"Number of calendars to return; must be between 1 and 100 and defaults to 25.","type":"integer","minimum":1,"maximum":100}}},"OperationCalendarsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable Moreflow calendar identifier.","x-domain-id":"CalendarId"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Account that owns this calendar.","x-domain-id":"AccountId"},"provider":{"type":"string","enum":["google","outlook","manual"],"description":"Calendar provider used for scheduling."},"displayName":{"type":"string","description":"Human-readable calendar name."},"timezone":{"type":"string","description":"IANA timezone used by this calendar."},"selected":{"type":"boolean","description":"Whether this calendar is selected for booking."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this calendar was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this calendar was last updated."},"microsoftAccountKind":{"description":"Outlook calendars only: whether the Microsoft account is a business (Microsoft 365) account, a personal account, or not yet verified (connected before the kind was recorded; reconnect to verify). Teams meetings are unavailable only for personal.","type":"string","enum":["business","personal","unknown"]}},"required":["id","accountId","provider","displayName","timezone","selected","createdAt","updatedAt"],"additionalProperties":false},"description":"Calendars configured for scheduling."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may manage calendars."}},"required":["canManage"],"additionalProperties":false},"nextCursor":{"nullable":true,"description":"Opaque cursor for the next page, or null at the end.","type":"string"}},"required":["items","capabilities","nextCursor"],"additionalProperties":false},"OperationCalendarsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCalendarsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCalendarsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCalendarsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCalendarsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCalendarsListErrorDefinitionSchema0"}}]},"OperationCalendarsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCalendarsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCalendarsListErrorDefinitionSchema1"}}]},"OperationClientsArchiveInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client to archive."},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Expected current version; prevents archiving a concurrent edit."},"idempotencyKey":{"description":"Opaque key used to safely retry this archive request.","type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","expectedVersion"]},"OperationClientsArchiveOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable identifier of this CRM client.","x-domain-id":"ClientId"},"ownerUserId":{"default":null,"description":"Account user responsible for this client; null when unassigned. Filter and sort by owner with clients.list.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"default":null,"description":"Email address used to contact this client or send notifications.","nullable":true,"type":"string"},"firstName":{"type":"string","description":"Given name of the person attached to this CRM record."},"lastName":{"type":"string","description":"Family name of the person attached to this CRM record."},"phoneNumber":{"default":null,"description":"Contact phone number in international format.","nullable":true,"type":"string"},"emails":{"description":"Every saved email address, primary first. `email` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"phones":{"description":"Every saved phone number, primary first. `phoneNumber` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"company":{"default":null,"description":"Company or organization associated with this contact.","nullable":true,"type":"string"},"vatId":{"default":null,"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string"},"buyerReference":{"default":null,"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung.","nullable":true,"type":"string"},"birthDate":{"default":null,"description":"Calendar birth date of the CRM client.","nullable":true,"type":"string"},"recommender":{"default":null,"description":"Person or referral source that introduced this CRM client.","nullable":true,"type":"string"},"address":{"default":null,"nullable":true,"type":"object","properties":{"street":{"default":null,"description":"Street and house number in the contact postal address.","nullable":true,"type":"string"},"postal":{"default":null,"description":"Postal code in the contact address.","nullable":true,"type":"string"},"city":{"default":null,"description":"City in the contact postal address.","nullable":true,"type":"string"},"state":{"default":null,"description":"State or region in the contact postal address.","nullable":true,"type":"string"},"country":{"default":null,"description":"Country in the contact postal address.","nullable":true,"type":"string"}},"required":["street","postal","city","state","country"],"additionalProperties":false,"description":"Postal address of the CRM client."},"status":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"],"description":"Current lifecycle or delivery status of this record."},"source":{"default":null,"description":"Origin channel that created or imported this CRM record.","nullable":true,"type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"utm":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"UTM parameter name."},"value":{"default":null,"description":"UTM parameter value.","nullable":true,"type":"string"}},"required":["type","value"],"additionalProperties":false},"description":"UTM campaign parameters captured with this CRM client."},"gadSource":{"default":null,"description":"Google Ads source value used to attribute this lead.","nullable":true,"type":"string"},"disqualificationReasonCode":{"default":null,"description":"Reason code explaining why the client was disqualified.","nullable":true,"type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"default":null,"description":"Human-readable explanation for the client disqualification.","nullable":true,"type":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom field."},"type":{"default":null,"description":"Type of the custom field.","nullable":true,"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"default":null,"description":"Value assigned to the custom field.","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"default":null,"description":"Identifier of the selected custom-field option.","nullable":true,"type":"string"}},"required":["id","type","value","valueId"],"additionalProperties":false,"description":"One custom-field value attached to this client."},"description":"CRM custom-field values attached to this client."},"tagIds":{"type":"array","items":{"type":"string","description":"Identifier of a CRM tag."},"description":"Identifiers of CRM tags assigned to this client."},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsArchiveOutputDefinitionSchema0"},"description":"Marketing and source metadata attached to the client record."},"privacyConsent":{"type":"boolean","description":"Whether the contact granted the recorded privacy consent."},"lastActivityAt":{"default":null,"description":"UTC timestamp of the most recent CRM activity.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextFollowUpAt":{"default":null,"description":"UTC timestamp of the next planned CRM follow-up.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastEngagedAt":{"description":"UTC timestamp of the latest human open or click of a campaign email. Machine opens (Apple Mail Privacy Protection) and link-scanner clicks never count. Absent when none was recorded.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"engagementStatus":{"description":"Campaign engagement status. new: no human open or click yet and not inactive (a new contact has a 90-day grace period). active: engaged and not inactive. inactive: at least 5 tracked campaign emails delivered over 90 days without a human open or click (emails opened by a mail privacy proxy do not count). sunset: still inactive 14 days after a re-engagement email, or inactive again after an earlier one (a contact gets one re-engagement email), so campaigns, sequences and automation emails skip it as inactive; transactional mail is unaffected. A new human open or click or a new marketing consent ends inactive and sunset. Filter clients and audiences by it with field engagementStatus.","type":"string","enum":["new","active","inactive","sunset"]},"unengagedCampaignCount":{"description":"Tracked campaign emails delivered since the latest human open or click or marketing consent grant.","type":"integer","minimum":0,"maximum":9007199254740991},"unengagedSince":{"description":"Send time of the first of those emails; absent when there are none.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reEngagementSentAt":{"description":"Send time of the latest re-engagement email delivered since the latest human open or click.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991,"internal":false,"description":"Current resource version used for optimistic updates."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this Moreflow record was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this record was last updated."},"archivedAt":{"default":null,"description":"UTC timestamp when this record was archived (moved to the trash).","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"permanentDeletionAt":{"description":"UTC timestamp when this trashed (archived) client is permanently deleted, 30 days after it was moved to the trash. Present only for archived clients; restore it before then with clients.index.restoreMany.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"owner":{"default":null,"description":"Display name of the owner; present on clients.list and clients.get reads.","nullable":true,"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"blocked":{"type":"boolean","description":"Whether the client is blocked."},"capabilities":{"type":"object","properties":{"canBlock":{"type":"boolean","description":"Whether this client may be blocked."},"canUnblock":{"type":"boolean","description":"Whether this client may be unblocked."},"canArchive":{"type":"boolean","description":"Whether this client may be archived."},"canRestore":{"type":"boolean","description":"Whether this client is in the trash and may be restored with clients.index.restoreMany."},"canPurge":{"type":"boolean","description":"Whether this trashed client may be permanently deleted now; false for active clients and while the deployment disables purge."}},"required":["canBlock","canUnblock","canArchive","canRestore","canPurge"],"additionalProperties":false,"description":"Lifecycle capabilities available for this client."}},"required":["id","ownerUserId","email","firstName","lastName","phoneNumber","company","vatId","buyerReference","birthDate","recommender","address","status","source","utm","gadSource","disqualificationReasonCode","disqualificationReasonText","customFields","tagIds","attribution","privacyConsent","lastActivityAt","nextFollowUpAt","version","createdAt","updatedAt","archivedAt","owner","blocked","capabilities"],"additionalProperties":false},"OperationClientsArchiveOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsArchiveOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsArchiveOutputDefinitionSchema0"}}]},"OperationClientsArchiveError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CONFLICT","PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsArchiveErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsArchiveErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsArchiveErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsArchiveErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsArchiveErrorDefinitionSchema0"}}]},"OperationClientsArchiveErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsArchiveErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsArchiveErrorDefinitionSchema1"}}]},"OperationClientsContactPointsCreateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client whose saved addresses change."},"expectedVersion":{"description":"Expected current client version; prevents overwriting a concurrent edit.","type":"integer","minimum":1,"maximum":9007199254740991},"idempotencyKey":{"description":"Opaque key used to safely retry this request.","type":"string","minLength":1,"maxLength":255},"kind":{"type":"string","enum":["email","phone"],"description":"Whether the new address is an email address or a phone number."},"value":{"type":"string","minLength":1,"description":"Address to save: a valid email address, or a phone number in international or German national format (stored as E.164)."},"label":{"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"makePrimary":{"description":"Make the new address the primary of its kind. The first address of a kind always becomes primary.","type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","kind","value"],"description":"A new email address or phone number for an existing client."},"OperationClientsContactPointsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."},"client":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable identifier of this CRM client.","x-domain-id":"ClientId"},"ownerUserId":{"default":null,"description":"Account user responsible for this client; null when unassigned. Filter and sort by owner with clients.list.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"default":null,"description":"Email address used to contact this client or send notifications.","nullable":true,"type":"string"},"firstName":{"type":"string","description":"Given name of the person attached to this CRM record."},"lastName":{"type":"string","description":"Family name of the person attached to this CRM record."},"phoneNumber":{"default":null,"description":"Contact phone number in international format.","nullable":true,"type":"string"},"emails":{"description":"Every saved email address, primary first. `email` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"phones":{"description":"Every saved phone number, primary first. `phoneNumber` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"company":{"default":null,"description":"Company or organization associated with this contact.","nullable":true,"type":"string"},"vatId":{"default":null,"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string"},"buyerReference":{"default":null,"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung.","nullable":true,"type":"string"},"birthDate":{"default":null,"description":"Calendar birth date of the CRM client.","nullable":true,"type":"string"},"recommender":{"default":null,"description":"Person or referral source that introduced this CRM client.","nullable":true,"type":"string"},"address":{"default":null,"nullable":true,"type":"object","properties":{"street":{"default":null,"description":"Street and house number in the contact postal address.","nullable":true,"type":"string"},"postal":{"default":null,"description":"Postal code in the contact address.","nullable":true,"type":"string"},"city":{"default":null,"description":"City in the contact postal address.","nullable":true,"type":"string"},"state":{"default":null,"description":"State or region in the contact postal address.","nullable":true,"type":"string"},"country":{"default":null,"description":"Country in the contact postal address.","nullable":true,"type":"string"}},"required":["street","postal","city","state","country"],"additionalProperties":false,"description":"Postal address of the CRM client."},"status":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"],"description":"Current lifecycle or delivery status of this record."},"source":{"default":null,"description":"Origin channel that created or imported this CRM record.","nullable":true,"type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"utm":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"UTM parameter name."},"value":{"default":null,"description":"UTM parameter value.","nullable":true,"type":"string"}},"required":["type","value"],"additionalProperties":false},"description":"UTM campaign parameters captured with this CRM client."},"gadSource":{"default":null,"description":"Google Ads source value used to attribute this lead.","nullable":true,"type":"string"},"disqualificationReasonCode":{"default":null,"description":"Reason code explaining why the client was disqualified.","nullable":true,"type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"default":null,"description":"Human-readable explanation for the client disqualification.","nullable":true,"type":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom field."},"type":{"default":null,"description":"Type of the custom field.","nullable":true,"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"default":null,"description":"Value assigned to the custom field.","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"default":null,"description":"Identifier of the selected custom-field option.","nullable":true,"type":"string"}},"required":["id","type","value","valueId"],"additionalProperties":false,"description":"One custom-field value attached to this client."},"description":"CRM custom-field values attached to this client."},"tagIds":{"type":"array","items":{"type":"string","description":"Identifier of a CRM tag."},"description":"Identifiers of CRM tags assigned to this client."},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateOutputDefinitionSchema0"},"description":"Marketing and source metadata attached to the client record."},"privacyConsent":{"type":"boolean","description":"Whether the contact granted the recorded privacy consent."},"lastActivityAt":{"default":null,"description":"UTC timestamp of the most recent CRM activity.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextFollowUpAt":{"default":null,"description":"UTC timestamp of the next planned CRM follow-up.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastEngagedAt":{"description":"UTC timestamp of the latest human open or click of a campaign email. Machine opens (Apple Mail Privacy Protection) and link-scanner clicks never count. Absent when none was recorded.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"engagementStatus":{"description":"Campaign engagement status. new: no human open or click yet and not inactive (a new contact has a 90-day grace period). active: engaged and not inactive. inactive: at least 5 tracked campaign emails delivered over 90 days without a human open or click (emails opened by a mail privacy proxy do not count). sunset: still inactive 14 days after a re-engagement email, or inactive again after an earlier one (a contact gets one re-engagement email), so campaigns, sequences and automation emails skip it as inactive; transactional mail is unaffected. A new human open or click or a new marketing consent ends inactive and sunset. Filter clients and audiences by it with field engagementStatus.","type":"string","enum":["new","active","inactive","sunset"]},"unengagedCampaignCount":{"description":"Tracked campaign emails delivered since the latest human open or click or marketing consent grant.","type":"integer","minimum":0,"maximum":9007199254740991},"unengagedSince":{"description":"Send time of the first of those emails; absent when there are none.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reEngagementSentAt":{"description":"Send time of the latest re-engagement email delivered since the latest human open or click.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991,"internal":false,"description":"Current resource version used for optimistic updates."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this Moreflow record was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this record was last updated."},"archivedAt":{"default":null,"description":"UTC timestamp when this record was archived (moved to the trash).","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"permanentDeletionAt":{"description":"UTC timestamp when this trashed (archived) client is permanently deleted, 30 days after it was moved to the trash. Present only for archived clients; restore it before then with clients.index.restoreMany.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"owner":{"default":null,"description":"Display name of the owner; present on clients.list and clients.get reads.","nullable":true,"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"blocked":{"type":"boolean","description":"Whether the client is blocked."}},"required":["id","ownerUserId","email","firstName","lastName","phoneNumber","company","vatId","buyerReference","birthDate","recommender","address","status","source","utm","gadSource","disqualificationReasonCode","disqualificationReasonText","customFields","tagIds","attribution","privacyConsent","lastActivityAt","nextFollowUpAt","version","createdAt","updatedAt","archivedAt","owner","blocked"],"additionalProperties":false,"description":"The saved address."},"warnings":{"default":[],"description":"Non-blocking notices; present only when there is something to report.","type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["CONTACT_POINT_PHONE_SHARED"],"description":"Another active client of the account has this phone number saved."},"message":{"type":"string","description":"Human-readable explanation of the warning."},"value":{"type":"string","description":"The shared phone number in E.164 format."},"clientIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"description":"Other active clients that have this phone number saved; open one with clients.detail."}},"required":["code","message","value","clientIds"],"additionalProperties":false,"description":"Non-blocking notice about a saved contact point."}}},"required":["id","value","label","primary","client","warnings"],"additionalProperties":false,"description":"Automation effects are durable: every follow-up trigger of this mutation is written to the trigger outbox before it is delivered. A success result means each effect was delivered. When delivery fails, the operation returns a failure whose context reports that the mutation itself completed and whose details.pendingTriggerDispatches lists the queued effects to replay through automations.triggers.dispatch."},"OperationClientsContactPointsCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateOutputDefinitionSchema0"}}]},"OperationClientsContactPointsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CONFLICT","CONTACT_POINT_EMAIL_IN_USE","CONTACT_POINT_INVALID_VALUE","CONTACT_POINT_ALREADY_ON_CLIENT","CONTACT_POINT_LIMIT_REACHED","PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsContactPointsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateErrorDefinitionSchema0"}}]},"OperationClientsContactPointsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateErrorDefinitionSchema1"}}]},"OperationClientsContactPointsDeleteInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client whose saved addresses change."},"expectedVersion":{"description":"Expected current client version; prevents overwriting a concurrent edit.","type":"integer","minimum":1,"maximum":9007199254740991},"idempotencyKey":{"description":"Opaque key used to safely retry this request.","type":"string","minLength":1,"maxLength":255},"contactPointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"newPrimaryContactPointId":{"description":"Only when removing the primary address: the saved address of the same kind that becomes primary. When omitted, the remaining address of that kind with the lowest position (the oldest one) becomes primary.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"clients.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","contactPointId"],"description":"Remove one saved address."},"OperationClientsContactPointsDeleteOutput":{"type":"object","properties":{},"additionalProperties":false},"OperationClientsContactPointsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CONFLICT","CONTACT_POINT_NOT_FOUND","CONTACT_POINT_INVALID_NEW_PRIMARY","PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsContactPointsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteErrorDefinitionSchema0"}}]},"OperationClientsContactPointsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteErrorDefinitionSchema1"}}]},"OperationClientsContactPointsPrimaryUpdateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client whose saved addresses change."},"expectedVersion":{"description":"Expected current client version; prevents overwriting a concurrent edit.","type":"integer","minimum":1,"maximum":9007199254740991},"idempotencyKey":{"description":"Opaque key used to safely retry this request.","type":"string","minLength":1,"maxLength":255},"contactPointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved address that becomes the primary of its kind; the previous primary stays saved as a secondary address.","x-moreflow-reference":{"resolver":"clients.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","contactPointId"],"description":"Make one saved address the primary of its kind."},"OperationClientsContactPointsPrimaryUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."},"client":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable identifier of this CRM client.","x-domain-id":"ClientId"},"ownerUserId":{"default":null,"description":"Account user responsible for this client; null when unassigned. Filter and sort by owner with clients.list.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"default":null,"description":"Email address used to contact this client or send notifications.","nullable":true,"type":"string"},"firstName":{"type":"string","description":"Given name of the person attached to this CRM record."},"lastName":{"type":"string","description":"Family name of the person attached to this CRM record."},"phoneNumber":{"default":null,"description":"Contact phone number in international format.","nullable":true,"type":"string"},"emails":{"description":"Every saved email address, primary first. `email` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"phones":{"description":"Every saved phone number, primary first. `phoneNumber` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"company":{"default":null,"description":"Company or organization associated with this contact.","nullable":true,"type":"string"},"vatId":{"default":null,"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string"},"buyerReference":{"default":null,"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung.","nullable":true,"type":"string"},"birthDate":{"default":null,"description":"Calendar birth date of the CRM client.","nullable":true,"type":"string"},"recommender":{"default":null,"description":"Person or referral source that introduced this CRM client.","nullable":true,"type":"string"},"address":{"default":null,"nullable":true,"type":"object","properties":{"street":{"default":null,"description":"Street and house number in the contact postal address.","nullable":true,"type":"string"},"postal":{"default":null,"description":"Postal code in the contact address.","nullable":true,"type":"string"},"city":{"default":null,"description":"City in the contact postal address.","nullable":true,"type":"string"},"state":{"default":null,"description":"State or region in the contact postal address.","nullable":true,"type":"string"},"country":{"default":null,"description":"Country in the contact postal address.","nullable":true,"type":"string"}},"required":["street","postal","city","state","country"],"additionalProperties":false,"description":"Postal address of the CRM client."},"status":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"],"description":"Current lifecycle or delivery status of this record."},"source":{"default":null,"description":"Origin channel that created or imported this CRM record.","nullable":true,"type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"utm":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"UTM parameter name."},"value":{"default":null,"description":"UTM parameter value.","nullable":true,"type":"string"}},"required":["type","value"],"additionalProperties":false},"description":"UTM campaign parameters captured with this CRM client."},"gadSource":{"default":null,"description":"Google Ads source value used to attribute this lead.","nullable":true,"type":"string"},"disqualificationReasonCode":{"default":null,"description":"Reason code explaining why the client was disqualified.","nullable":true,"type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"default":null,"description":"Human-readable explanation for the client disqualification.","nullable":true,"type":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom field."},"type":{"default":null,"description":"Type of the custom field.","nullable":true,"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"default":null,"description":"Value assigned to the custom field.","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"default":null,"description":"Identifier of the selected custom-field option.","nullable":true,"type":"string"}},"required":["id","type","value","valueId"],"additionalProperties":false,"description":"One custom-field value attached to this client."},"description":"CRM custom-field values attached to this client."},"tagIds":{"type":"array","items":{"type":"string","description":"Identifier of a CRM tag."},"description":"Identifiers of CRM tags assigned to this client."},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateOutputDefinitionSchema0"},"description":"Marketing and source metadata attached to the client record."},"privacyConsent":{"type":"boolean","description":"Whether the contact granted the recorded privacy consent."},"lastActivityAt":{"default":null,"description":"UTC timestamp of the most recent CRM activity.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextFollowUpAt":{"default":null,"description":"UTC timestamp of the next planned CRM follow-up.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastEngagedAt":{"description":"UTC timestamp of the latest human open or click of a campaign email. Machine opens (Apple Mail Privacy Protection) and link-scanner clicks never count. Absent when none was recorded.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"engagementStatus":{"description":"Campaign engagement status. new: no human open or click yet and not inactive (a new contact has a 90-day grace period). active: engaged and not inactive. inactive: at least 5 tracked campaign emails delivered over 90 days without a human open or click (emails opened by a mail privacy proxy do not count). sunset: still inactive 14 days after a re-engagement email, or inactive again after an earlier one (a contact gets one re-engagement email), so campaigns, sequences and automation emails skip it as inactive; transactional mail is unaffected. A new human open or click or a new marketing consent ends inactive and sunset. Filter clients and audiences by it with field engagementStatus.","type":"string","enum":["new","active","inactive","sunset"]},"unengagedCampaignCount":{"description":"Tracked campaign emails delivered since the latest human open or click or marketing consent grant.","type":"integer","minimum":0,"maximum":9007199254740991},"unengagedSince":{"description":"Send time of the first of those emails; absent when there are none.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reEngagementSentAt":{"description":"Send time of the latest re-engagement email delivered since the latest human open or click.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991,"internal":false,"description":"Current resource version used for optimistic updates."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this Moreflow record was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this record was last updated."},"archivedAt":{"default":null,"description":"UTC timestamp when this record was archived (moved to the trash).","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"permanentDeletionAt":{"description":"UTC timestamp when this trashed (archived) client is permanently deleted, 30 days after it was moved to the trash. Present only for archived clients; restore it before then with clients.index.restoreMany.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"owner":{"default":null,"description":"Display name of the owner; present on clients.list and clients.get reads.","nullable":true,"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"blocked":{"type":"boolean","description":"Whether the client is blocked."}},"required":["id","ownerUserId","email","firstName","lastName","phoneNumber","company","vatId","buyerReference","birthDate","recommender","address","status","source","utm","gadSource","disqualificationReasonCode","disqualificationReasonText","customFields","tagIds","attribution","privacyConsent","lastActivityAt","nextFollowUpAt","version","createdAt","updatedAt","archivedAt","owner","blocked"],"additionalProperties":false,"description":"The new primary address."},"warnings":{"default":[],"description":"Non-blocking notices; present only when there is something to report.","type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["CONTACT_POINT_PHONE_SHARED"],"description":"Another active client of the account has this phone number saved."},"message":{"type":"string","description":"Human-readable explanation of the warning."},"value":{"type":"string","description":"The shared phone number in E.164 format."},"clientIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"description":"Other active clients that have this phone number saved; open one with clients.detail."}},"required":["code","message","value","clientIds"],"additionalProperties":false,"description":"Non-blocking notice about a saved contact point."}}},"required":["id","value","label","primary","client","warnings"],"additionalProperties":false,"description":"Automation effects are durable: every follow-up trigger of this mutation is written to the trigger outbox before it is delivered. A success result means each effect was delivered. When delivery fails, the operation returns a failure whose context reports that the mutation itself completed and whose details.pendingTriggerDispatches lists the queued effects to replay through automations.triggers.dispatch."},"OperationClientsContactPointsPrimaryUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateOutputDefinitionSchema0"}}]},"OperationClientsContactPointsPrimaryUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CONFLICT","CONTACT_POINT_NOT_FOUND","CONTACT_POINT_INVALID_VALUE","PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsContactPointsPrimaryUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateErrorDefinitionSchema0"}}]},"OperationClientsContactPointsPrimaryUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateErrorDefinitionSchema1"}}]},"OperationClientsContactPointsUpdateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client whose saved addresses change."},"expectedVersion":{"description":"Expected current client version; prevents overwriting a concurrent edit.","type":"integer","minimum":1,"maximum":9007199254740991},"idempotencyKey":{"description":"Opaque key used to safely retry this request.","type":"string","minLength":1,"maxLength":255},"contactPointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"description":"New address. Validated as an email or phone number according to the kind of the saved address; phone numbers are stored as E.164.","type":"string","minLength":1},"label":{"description":"New label; null clears it.","nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","contactPointId"],"description":"Correct or relabel one saved address. Its primary status is unchanged."},"OperationClientsContactPointsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."},"client":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable identifier of this CRM client.","x-domain-id":"ClientId"},"ownerUserId":{"default":null,"description":"Account user responsible for this client; null when unassigned. Filter and sort by owner with clients.list.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"default":null,"description":"Email address used to contact this client or send notifications.","nullable":true,"type":"string"},"firstName":{"type":"string","description":"Given name of the person attached to this CRM record."},"lastName":{"type":"string","description":"Family name of the person attached to this CRM record."},"phoneNumber":{"default":null,"description":"Contact phone number in international format.","nullable":true,"type":"string"},"emails":{"description":"Every saved email address, primary first. `email` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"phones":{"description":"Every saved phone number, primary first. `phoneNumber` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"company":{"default":null,"description":"Company or organization associated with this contact.","nullable":true,"type":"string"},"vatId":{"default":null,"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string"},"buyerReference":{"default":null,"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung.","nullable":true,"type":"string"},"birthDate":{"default":null,"description":"Calendar birth date of the CRM client.","nullable":true,"type":"string"},"recommender":{"default":null,"description":"Person or referral source that introduced this CRM client.","nullable":true,"type":"string"},"address":{"default":null,"nullable":true,"type":"object","properties":{"street":{"default":null,"description":"Street and house number in the contact postal address.","nullable":true,"type":"string"},"postal":{"default":null,"description":"Postal code in the contact address.","nullable":true,"type":"string"},"city":{"default":null,"description":"City in the contact postal address.","nullable":true,"type":"string"},"state":{"default":null,"description":"State or region in the contact postal address.","nullable":true,"type":"string"},"country":{"default":null,"description":"Country in the contact postal address.","nullable":true,"type":"string"}},"required":["street","postal","city","state","country"],"additionalProperties":false,"description":"Postal address of the CRM client."},"status":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"],"description":"Current lifecycle or delivery status of this record."},"source":{"default":null,"description":"Origin channel that created or imported this CRM record.","nullable":true,"type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"utm":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"UTM parameter name."},"value":{"default":null,"description":"UTM parameter value.","nullable":true,"type":"string"}},"required":["type","value"],"additionalProperties":false},"description":"UTM campaign parameters captured with this CRM client."},"gadSource":{"default":null,"description":"Google Ads source value used to attribute this lead.","nullable":true,"type":"string"},"disqualificationReasonCode":{"default":null,"description":"Reason code explaining why the client was disqualified.","nullable":true,"type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"default":null,"description":"Human-readable explanation for the client disqualification.","nullable":true,"type":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom field."},"type":{"default":null,"description":"Type of the custom field.","nullable":true,"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"default":null,"description":"Value assigned to the custom field.","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"default":null,"description":"Identifier of the selected custom-field option.","nullable":true,"type":"string"}},"required":["id","type","value","valueId"],"additionalProperties":false,"description":"One custom-field value attached to this client."},"description":"CRM custom-field values attached to this client."},"tagIds":{"type":"array","items":{"type":"string","description":"Identifier of a CRM tag."},"description":"Identifiers of CRM tags assigned to this client."},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateOutputDefinitionSchema0"},"description":"Marketing and source metadata attached to the client record."},"privacyConsent":{"type":"boolean","description":"Whether the contact granted the recorded privacy consent."},"lastActivityAt":{"default":null,"description":"UTC timestamp of the most recent CRM activity.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextFollowUpAt":{"default":null,"description":"UTC timestamp of the next planned CRM follow-up.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastEngagedAt":{"description":"UTC timestamp of the latest human open or click of a campaign email. Machine opens (Apple Mail Privacy Protection) and link-scanner clicks never count. Absent when none was recorded.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"engagementStatus":{"description":"Campaign engagement status. new: no human open or click yet and not inactive (a new contact has a 90-day grace period). active: engaged and not inactive. inactive: at least 5 tracked campaign emails delivered over 90 days without a human open or click (emails opened by a mail privacy proxy do not count). sunset: still inactive 14 days after a re-engagement email, or inactive again after an earlier one (a contact gets one re-engagement email), so campaigns, sequences and automation emails skip it as inactive; transactional mail is unaffected. A new human open or click or a new marketing consent ends inactive and sunset. Filter clients and audiences by it with field engagementStatus.","type":"string","enum":["new","active","inactive","sunset"]},"unengagedCampaignCount":{"description":"Tracked campaign emails delivered since the latest human open or click or marketing consent grant.","type":"integer","minimum":0,"maximum":9007199254740991},"unengagedSince":{"description":"Send time of the first of those emails; absent when there are none.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reEngagementSentAt":{"description":"Send time of the latest re-engagement email delivered since the latest human open or click.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991,"internal":false,"description":"Current resource version used for optimistic updates."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this Moreflow record was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this record was last updated."},"archivedAt":{"default":null,"description":"UTC timestamp when this record was archived (moved to the trash).","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"permanentDeletionAt":{"description":"UTC timestamp when this trashed (archived) client is permanently deleted, 30 days after it was moved to the trash. Present only for archived clients; restore it before then with clients.index.restoreMany.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"owner":{"default":null,"description":"Display name of the owner; present on clients.list and clients.get reads.","nullable":true,"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"blocked":{"type":"boolean","description":"Whether the client is blocked."}},"required":["id","ownerUserId","email","firstName","lastName","phoneNumber","company","vatId","buyerReference","birthDate","recommender","address","status","source","utm","gadSource","disqualificationReasonCode","disqualificationReasonText","customFields","tagIds","attribution","privacyConsent","lastActivityAt","nextFollowUpAt","version","createdAt","updatedAt","archivedAt","owner","blocked"],"additionalProperties":false,"description":"The updated address."},"warnings":{"default":[],"description":"Non-blocking notices; present only when there is something to report.","type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["CONTACT_POINT_PHONE_SHARED"],"description":"Another active client of the account has this phone number saved."},"message":{"type":"string","description":"Human-readable explanation of the warning."},"value":{"type":"string","description":"The shared phone number in E.164 format."},"clientIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"description":"Other active clients that have this phone number saved; open one with clients.detail."}},"required":["code","message","value","clientIds"],"additionalProperties":false,"description":"Non-blocking notice about a saved contact point."}}},"required":["id","value","label","primary","client","warnings"],"additionalProperties":false,"description":"Automation effects are durable: every follow-up trigger of this mutation is written to the trigger outbox before it is delivered. A success result means each effect was delivered. When delivery fails, the operation returns a failure whose context reports that the mutation itself completed and whose details.pendingTriggerDispatches lists the queued effects to replay through automations.triggers.dispatch."},"OperationClientsContactPointsUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateOutputDefinitionSchema0"}}]},"OperationClientsContactPointsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CONFLICT","CONTACT_POINT_EMAIL_IN_USE","CONTACT_POINT_INVALID_VALUE","CONTACT_POINT_ALREADY_ON_CLIENT","CONTACT_POINT_NOT_FOUND","PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsContactPointsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateErrorDefinitionSchema0"}}]},"OperationClientsContactPointsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateErrorDefinitionSchema1"}}]},"OperationClientsCreateInput":{"type":"object","properties":{"ownerUserId":{"description":"Responsible account user. Omitted: the calling user (unassigned for service callers). null unassigns.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"description":"Email address used to contact this client or send notifications.","type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"firstName":{"type":"string","minLength":1,"description":"Given name of the person attached to this CRM record."},"lastName":{"type":"string","minLength":1,"description":"Family name of the person attached to this CRM record."},"phoneNumber":{"description":"Contact phone number in international format.","type":"string"},"emails":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"value":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Email address to save on the client."},"label":{"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean"}},"required":["value"]}},"phones":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"value":{"description":"Phone number to save on the client; international or German national format, stored as E.164.","type":"string"},"label":{"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean"}},"required":["value"]}},"company":{"description":"Company or organization associated with this contact.","type":"string"},"vatId":{"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased. Empty or null clears it.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string","maxLength":200},"buyerReference":{"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung. Any reference up to 200 characters is accepted. Empty or null clears it.","nullable":true,"type":"string","maxLength":200},"birthDate":{"description":"Calendar birth date of the CRM client.","type":"string"},"recommender":{"description":"Person or referral source that introduced this CRM client.","type":"string"},"address":{"type":"object","properties":{"street":{"type":"string"},"postal":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"country":{"type":"string"}}},"status":{"description":"Current lifecycle or delivery status of this record.","type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up"]},"source":{"description":"Origin channel that created or imported this CRM record.","type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"disqualificationReasonCode":{"description":"Reason code explaining why the client was disqualified.","type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"description":"Human-readable explanation for the client disqualification.","type":"string","minLength":1},"utm":{"description":"UTM campaign parameters captured with this CRM client.","type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"value":{"nullable":true,"type":"string"}},"required":["type"]}},"gadSource":{"description":"Google Ads source value used to attribute this lead.","type":"string"},"privacyConsent":{"description":"Marketing email consent. true records a staff grant in the consent ledger (channel staff_manual, recorded by the calling user). On update, false withdraws it; omitted leaves it unchanged. A caller without a user cannot record it (CLIENT_CONSENT_RECORDER_REQUIRED).","type":"boolean"},"trackingConsent":{"description":"Email tracking consent (open and click tracking). Recorded like privacyConsent in the consent ledger for the email_tracking purpose and independent of privacyConsent. On update, false withdraws it; omitted leaves it unchanged.","type":"boolean"},"tagIds":{"description":"Identifiers of CRM tags assigned to this client.","type":"array","items":{"type":"string"}},"customFields":{"description":"CRM custom-field values attached to this client.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"]}},"attribution":{"description":"Marketing and source metadata attached to the client record.","type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCreateInputDefinitionSchema0"}},"idempotencyKey":{"description":"Opaque key used to safely retry this create request.","type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["firstName","lastName"]},"OperationClientsCreateInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsCreateInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCreateInputDefinitionSchema0"}}]},"OperationClientsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable identifier of this CRM client.","x-domain-id":"ClientId"},"ownerUserId":{"default":null,"description":"Account user responsible for this client; null when unassigned. Filter and sort by owner with clients.list.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"default":null,"description":"Email address used to contact this client or send notifications.","nullable":true,"type":"string"},"firstName":{"type":"string","description":"Given name of the person attached to this CRM record."},"lastName":{"type":"string","description":"Family name of the person attached to this CRM record."},"phoneNumber":{"default":null,"description":"Contact phone number in international format.","nullable":true,"type":"string"},"emails":{"description":"Every saved email address, primary first. `email` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"phones":{"description":"Every saved phone number, primary first. `phoneNumber` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"company":{"default":null,"description":"Company or organization associated with this contact.","nullable":true,"type":"string"},"vatId":{"default":null,"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string"},"buyerReference":{"default":null,"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung.","nullable":true,"type":"string"},"birthDate":{"default":null,"description":"Calendar birth date of the CRM client.","nullable":true,"type":"string"},"recommender":{"default":null,"description":"Person or referral source that introduced this CRM client.","nullable":true,"type":"string"},"address":{"default":null,"nullable":true,"type":"object","properties":{"street":{"default":null,"description":"Street and house number in the contact postal address.","nullable":true,"type":"string"},"postal":{"default":null,"description":"Postal code in the contact address.","nullable":true,"type":"string"},"city":{"default":null,"description":"City in the contact postal address.","nullable":true,"type":"string"},"state":{"default":null,"description":"State or region in the contact postal address.","nullable":true,"type":"string"},"country":{"default":null,"description":"Country in the contact postal address.","nullable":true,"type":"string"}},"required":["street","postal","city","state","country"],"additionalProperties":false,"description":"Postal address of the CRM client."},"status":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"],"description":"Current lifecycle or delivery status of this record."},"source":{"default":null,"description":"Origin channel that created or imported this CRM record.","nullable":true,"type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"utm":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"UTM parameter name."},"value":{"default":null,"description":"UTM parameter value.","nullable":true,"type":"string"}},"required":["type","value"],"additionalProperties":false},"description":"UTM campaign parameters captured with this CRM client."},"gadSource":{"default":null,"description":"Google Ads source value used to attribute this lead.","nullable":true,"type":"string"},"disqualificationReasonCode":{"default":null,"description":"Reason code explaining why the client was disqualified.","nullable":true,"type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"default":null,"description":"Human-readable explanation for the client disqualification.","nullable":true,"type":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom field."},"type":{"default":null,"description":"Type of the custom field.","nullable":true,"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"default":null,"description":"Value assigned to the custom field.","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"default":null,"description":"Identifier of the selected custom-field option.","nullable":true,"type":"string"}},"required":["id","type","value","valueId"],"additionalProperties":false,"description":"One custom-field value attached to this client."},"description":"CRM custom-field values attached to this client."},"tagIds":{"type":"array","items":{"type":"string","description":"Identifier of a CRM tag."},"description":"Identifiers of CRM tags assigned to this client."},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCreateOutputDefinitionSchema0"},"description":"Marketing and source metadata attached to the client record."},"privacyConsent":{"type":"boolean","description":"Whether the contact granted the recorded privacy consent."},"lastActivityAt":{"default":null,"description":"UTC timestamp of the most recent CRM activity.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextFollowUpAt":{"default":null,"description":"UTC timestamp of the next planned CRM follow-up.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastEngagedAt":{"description":"UTC timestamp of the latest human open or click of a campaign email. Machine opens (Apple Mail Privacy Protection) and link-scanner clicks never count. Absent when none was recorded.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"engagementStatus":{"description":"Campaign engagement status. new: no human open or click yet and not inactive (a new contact has a 90-day grace period). active: engaged and not inactive. inactive: at least 5 tracked campaign emails delivered over 90 days without a human open or click (emails opened by a mail privacy proxy do not count). sunset: still inactive 14 days after a re-engagement email, or inactive again after an earlier one (a contact gets one re-engagement email), so campaigns, sequences and automation emails skip it as inactive; transactional mail is unaffected. A new human open or click or a new marketing consent ends inactive and sunset. Filter clients and audiences by it with field engagementStatus.","type":"string","enum":["new","active","inactive","sunset"]},"unengagedCampaignCount":{"description":"Tracked campaign emails delivered since the latest human open or click or marketing consent grant.","type":"integer","minimum":0,"maximum":9007199254740991},"unengagedSince":{"description":"Send time of the first of those emails; absent when there are none.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reEngagementSentAt":{"description":"Send time of the latest re-engagement email delivered since the latest human open or click.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991,"internal":false,"description":"Current resource version used for optimistic updates."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this Moreflow record was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this record was last updated."},"archivedAt":{"default":null,"description":"UTC timestamp when this record was archived (moved to the trash).","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"permanentDeletionAt":{"description":"UTC timestamp when this trashed (archived) client is permanently deleted, 30 days after it was moved to the trash. Present only for archived clients; restore it before then with clients.index.restoreMany.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"owner":{"default":null,"description":"Display name of the owner; present on clients.list and clients.get reads.","nullable":true,"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"blocked":{"type":"boolean","description":"Whether the client is blocked."},"warnings":{"default":[],"description":"Non-blocking notices; present only when there is something to report.","type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["CONTACT_POINT_PHONE_SHARED"],"description":"Another active client of the account has this phone number saved."},"message":{"type":"string","description":"Human-readable explanation of the warning."},"value":{"type":"string","description":"The shared phone number in E.164 format."},"clientIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"description":"Other active clients that have this phone number saved; open one with clients.detail."}},"required":["code","message","value","clientIds"],"additionalProperties":false,"description":"Non-blocking notice about a saved contact point."}}},"required":["id","ownerUserId","email","firstName","lastName","phoneNumber","company","vatId","buyerReference","birthDate","recommender","address","status","source","utm","gadSource","disqualificationReasonCode","disqualificationReasonText","customFields","tagIds","attribution","privacyConsent","lastActivityAt","nextFollowUpAt","version","createdAt","updatedAt","archivedAt","owner","blocked","warnings"],"additionalProperties":false,"description":"Automation effects are durable: every follow-up trigger of this mutation is written to the trigger outbox before it is delivered. A success result means each effect was delivered. When delivery fails, the operation returns a failure whose context reports that the mutation itself completed and whose details.pendingTriggerDispatches lists the queued effects to replay through automations.triggers.dispatch."},"OperationClientsCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCreateOutputDefinitionSchema0"}}]},"OperationClientsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","CONFLICT","VALIDATION_ERROR","PROVIDER_ERROR","CONTACT_POINT_EMAIL_IN_USE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCreateErrorDefinitionSchema0"}}]},"OperationClientsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCreateErrorDefinitionSchema1"}}]},"OperationClientsCustomFieldsListInput":{"type":"object","properties":{"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"includeArchived":{"description":"Also return archived definitions (flagged archived: true) so they can be restored.","type":"boolean"},"target":{"description":"Entity whose definitions to list: client (default) or deal.","type":"string","enum":["client","deal"]}}},"OperationClientsCustomFieldsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom-field definition."},"fieldId":{"type":"string","minLength":1,"description":"Stable key used to address this custom field."},"name":{"type":"string","minLength":1,"description":"Internal name of the custom field."},"label":{"default":null,"description":"Human-readable label shown for the field.","nullable":true,"type":"string"},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"],"description":"Value type accepted by the custom field."},"options":{"default":[],"description":"Selectable options for this field.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom-field option."},"value":{"type":"string","description":"Value stored for the custom-field option."},"index":{"default":0,"description":"Display order of the option.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","value","index"],"additionalProperties":false}},"index":{"default":0,"description":"Display order of the field.","type":"integer","minimum":0,"maximum":9007199254740991},"archived":{"default":false,"description":"Whether the field is archived.","type":"boolean"},"archivedAt":{"default":null,"description":"UTC timestamp when the field was archived.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"required":{"default":false,"description":"Whether the field is required.","type":"boolean"},"createdAt":{"default":null,"description":"UTC timestamp when the field was created.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"default":null,"description":"UTC timestamp when the field was last updated.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","fieldId","name","label","type","options","index","archived","archivedAt","required","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"capabilities":{"type":"object","properties":{"canManageCustomFields":{"type":"boolean","description":"Whether the caller may create, change, reorder or archive custom-field definitions."}},"required":["canManageCustomFields"],"additionalProperties":false,"description":"What the caller may do with the account's custom-field definitions."}},"required":["items","nextCursor","capabilities"],"additionalProperties":false},"OperationClientsCustomFieldsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsCustomFieldsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListErrorDefinitionSchema0"}}]},"OperationClientsCustomFieldsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListErrorDefinitionSchema1"}}]},"OperationClientsCustomFieldsUpdateInput":{"type":"object","properties":{"definitions":{"type":"array","items":{"type":"object","properties":{"id":{"description":"Stable identifier of an existing custom-field definition; omit for a new field.","type":"string","minLength":1},"fieldId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"label":{"default":null,"description":"Human-readable label shown for the field.","nullable":true,"type":"string"},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"options":{"default":[],"description":"Selectable options for this field.","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable identifier of an existing option; omit for a new option.","type":"string","minLength":1},"value":{"type":"string","description":"Value stored for the custom-field option."},"index":{"default":0,"description":"Display order of the option.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value"]}},"index":{"default":0,"description":"Display order of the field.","type":"integer","minimum":0,"maximum":9007199254740991},"archived":{"default":false,"description":"Whether the field is archived.","type":"boolean"},"archivedAt":{"default":null,"description":"UTC timestamp when the field was archived.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"required":{"default":false,"description":"Whether the field is required.","type":"boolean"},"createdAt":{"default":null,"description":"UTC timestamp when the field was created.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"default":null,"description":"UTC timestamp when the field was last updated.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}}},"description":"Custom-field definitions to replace."},"target":{"type":"string","enum":["client","deal"],"description":"Entity the custom field applies to: client (default) or deal."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["definitions"]},"OperationClientsCustomFieldsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","enum":["customFields"]},"definitions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom-field definition."},"fieldId":{"type":"string","minLength":1,"description":"Stable key used to address this custom field."},"name":{"type":"string","minLength":1,"description":"Internal name of the custom field."},"label":{"default":null,"description":"Human-readable label shown for the field.","nullable":true,"type":"string"},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"],"description":"Value type accepted by the custom field."},"options":{"default":[],"description":"Selectable options for this field.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom-field option."},"value":{"type":"string","description":"Value stored for the custom-field option."},"index":{"default":0,"description":"Display order of the option.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","value","index"],"additionalProperties":false}},"index":{"default":0,"description":"Display order of the field.","type":"integer","minimum":0,"maximum":9007199254740991},"archived":{"default":false,"description":"Whether the field is archived.","type":"boolean"},"archivedAt":{"default":null,"description":"UTC timestamp when the field was archived.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"required":{"default":false,"description":"Whether the field is required.","type":"boolean"},"createdAt":{"default":null,"description":"UTC timestamp when the field was created.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"default":null,"description":"UTC timestamp when the field was last updated.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","fieldId","name","label","type","options","index","archived","archivedAt","required","createdAt","updatedAt"],"additionalProperties":false}}},"required":["id","definitions"],"additionalProperties":false},"OperationClientsCustomFieldsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsCustomFieldsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateErrorDefinitionSchema0"}}]},"OperationClientsCustomFieldsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateErrorDefinitionSchema1"}}]},"OperationClientsEditPolicyGetInput":{"type":"object","properties":{}},"OperationClientsEditPolicyGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["editPolicy"],"description":"The account client edit policy singleton."},"clientEditPolicy":{"type":"string","enum":["open","edit_own"],"description":"'open': every member edits every client (default). 'edit_own': members other than owners and admins edit, delete and assign only their own or unassigned clients."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"True when the caller is an owner or admin (or a service actor) and may change the policy."}},"required":["canManage"],"additionalProperties":false}},"required":["id","clientEditPolicy","capabilities"],"additionalProperties":false},"OperationClientsEditPolicyGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsEditPolicyGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetErrorDefinitionSchema0"}}]},"OperationClientsEditPolicyGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetErrorDefinitionSchema1"}}]},"OperationClientsEditPolicyUpdateInput":{"type":"object","properties":{"clientEditPolicy":{"type":"string","enum":["open","edit_own"],"description":"The policy to store: 'open' or 'edit_own'."}},"required":["clientEditPolicy"]},"OperationClientsEditPolicyUpdateOutput":{"type":"object","properties":{"id":{"type":"string","enum":["editPolicy"],"description":"The account client edit policy singleton."},"clientEditPolicy":{"type":"string","enum":["open","edit_own"],"description":"'open': every member edits every client (default). 'edit_own': members other than owners and admins edit, delete and assign only their own or unassigned clients."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"True when the caller is an owner or admin (or a service actor) and may change the policy."}},"required":["canManage"],"additionalProperties":false}},"required":["id","clientEditPolicy","capabilities"],"additionalProperties":false},"OperationClientsEditPolicyUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsEditPolicyUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateErrorDefinitionSchema0"}}]},"OperationClientsEditPolicyUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsCompleteInput":{"type":"object","properties":{"followUpId":{"description":"Follow-up to complete. Provide exactly one of followUpId or target.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"target":{"description":"Client-based selection of the follow-up to complete, instead of followUpId.","type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client whose newest open follow-up is targeted."},"select":{"type":"string","enum":["newest_open"],"description":"Most recently created follow-up of the client that is neither completed nor deleted."}},"required":["clientId","select"],"additionalProperties":false},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}}},"OperationClientsFollowUpsCompleteOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore"],"additionalProperties":false},"OperationClientsFollowUpsCompleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsCompleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsCompleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsCreateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with the operation."},"followUpAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"note":{"type":"string"},"sourceNoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Optional client note of the same client this follow-up comes from, for example an accepted note follow-up suggestion."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"visibility":{"type":"string","enum":["private","assigned","global"]},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","followUpAt"]},"OperationClientsFollowUpsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore"],"additionalProperties":false},"OperationClientsFollowUpsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","SOURCE_NOTE_NOT_FOUND","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsDeleteInput":{"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with the operation."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["followUpId","clientId"]},"OperationClientsFollowUpsDeleteOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore"],"additionalProperties":false},"OperationClientsFollowUpsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsImportInput":{"type":"object","properties":{"clientIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM clients selected for follow-up scheduling."}},"followUpAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"note":{"type":"string"},"sourceNoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Optional client note of the same client this follow-up comes from, for example an accepted note follow-up suggestion."},"visibility":{"type":"string","enum":["private","assigned","global"]},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientIds","followUpAt"],"additionalProperties":false},"OperationClientsFollowUpsImportOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Opaque identifier of this synchronous import receipt."},"outcomes":{"type":"array","items":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["succeeded","failed"]},"followUp":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore"],"additionalProperties":false},"error":{"default":null,"nullable":true,"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportOutputDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false}},"required":["clientId","status","followUp","error"],"additionalProperties":false}},"summary":{"type":"object","properties":{"requested":{"type":"integer","minimum":0,"maximum":9007199254740991},"succeeded":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["requested","succeeded","failed"],"additionalProperties":false}},"required":["id","outcomes","summary"],"additionalProperties":false},"OperationClientsFollowUpsImportOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportOutputDefinitionSchema0"}}]},"OperationClientsFollowUpsImportError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsImportErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsImportErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsListInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with the operation."},"dealId":{"description":"Only follow-ups linked to this deal; the deal must belong to the client.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"deals.get"}},"includeDeleted":{"description":"Include soft-deleted follow-ups when true.","type":"boolean"},"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}},"required":["clientId"]},"OperationClientsFollowUpsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationClientsFollowUpsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsListErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsListErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsManagerTransferOwnershipInput":{"type":"object","properties":{"fromUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"toUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"followUpIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"clientIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM clients whose follow-up ownership is changing."}},"makeGlobal":{"type":"boolean"},"transferAll":{"type":"boolean"},"mode":{"type":"string","enum":["transfer","share"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["fromUserId"]},"OperationClientsFollowUpsManagerTransferOwnershipOutput":{"type":"object","properties":{"transferredCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"skippedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"followUps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"company":{"type":"string"},"phoneNumber":{"description":"Primary phone number of the client, for click-to-dial (for example the Call action on a missed-call follow-up). Null when the client has no phone number. Present on due-list items.","nullable":true,"type":"string"}},"required":["id","firstName","lastName"],"additionalProperties":false}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore","client"],"additionalProperties":false}},"outcomes":{"type":"array","items":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["succeeded","failed","skipped"]},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false}},"required":["clientId","status"],"additionalProperties":false}},"id":{"type":"string","minLength":1,"description":"Opaque ownership transfer receipt identifier."}},"required":["transferredCount","skippedCount","followUps","outcomes","id"],"additionalProperties":false},"OperationClientsFollowUpsManagerTransferOwnershipError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsManagerTransferOwnershipErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsManagerTransferOwnershipErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsOccurrencesUpdateInput":{"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["skipped"],"description":"Outcome for the occurrence. Only skipped is accepted; use clients.followUps.complete to finish it."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["followUpId","status"]},"OperationClientsFollowUpsOccurrencesUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore"],"additionalProperties":false},"OperationClientsFollowUpsOccurrencesUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","FOLLOW_UP_NOT_REPEATING","FOLLOW_UP_ALREADY_COMPLETED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsOccurrencesUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsOccurrencesUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsOwnerCountsListInput":{"type":"object","properties":{"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}}},"OperationClientsFollowUpsOwnerCountsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"role":{"type":"string"},"activeCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["user","role","activeCount","totalCount"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"capabilities":{"type":"object","properties":{"canManageOtherUsers":{"type":"boolean"}},"required":["canManageOtherUsers"],"additionalProperties":false}},"required":["items","nextCursor","capabilities"],"additionalProperties":false},"OperationClientsFollowUpsOwnerCountsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsOwnerCountsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsOwnerCountsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsOwnershipListInput":{"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Optionally restrict results to one assigned account user."},"includeCompleted":{"description":"Include completed follow-ups when true.","type":"boolean"},"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}}},"OperationClientsFollowUpsOwnershipListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"company":{"type":"string"},"phoneNumber":{"description":"Primary phone number of the client, for click-to-dial (for example the Call action on a missed-call follow-up). Null when the client has no phone number. Present on due-list items.","nullable":true,"type":"string"}},"required":["id","firstName","lastName"],"additionalProperties":false}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore","client"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"capabilities":{"type":"object","properties":{"canManageOtherUsers":{"type":"boolean"}},"required":["canManageOtherUsers"],"additionalProperties":false}},"required":["items","nextCursor","capabilities"],"additionalProperties":false},"OperationClientsFollowUpsOwnershipListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsOwnershipListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsOwnershipListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsRestoreInput":{"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with the operation."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["followUpId","clientId"]},"OperationClientsFollowUpsRestoreOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore"],"additionalProperties":false},"OperationClientsFollowUpsRestoreError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsRestoreErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsRestoreErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsUpcomingListInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Optionally restrict results to one CRM client."},"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"now":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}}},"OperationClientsFollowUpsUpcomingListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable identifier of this CRM client.","x-domain-id":"ClientId"},"ownerUserId":{"default":null,"description":"Account user responsible for this client; null when unassigned. Filter and sort by owner with clients.list.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"default":null,"description":"Email address used to contact this client or send notifications.","nullable":true,"type":"string"},"firstName":{"type":"string","description":"Given name of the person attached to this CRM record."},"lastName":{"type":"string","description":"Family name of the person attached to this CRM record."},"phoneNumber":{"default":null,"description":"Contact phone number in international format.","nullable":true,"type":"string"},"emails":{"description":"Every saved email address, primary first. `email` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"phones":{"description":"Every saved phone number, primary first. `phoneNumber` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"company":{"default":null,"description":"Company or organization associated with this contact.","nullable":true,"type":"string"},"vatId":{"default":null,"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string"},"buyerReference":{"default":null,"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung.","nullable":true,"type":"string"},"birthDate":{"default":null,"description":"Calendar birth date of the CRM client.","nullable":true,"type":"string"},"recommender":{"default":null,"description":"Person or referral source that introduced this CRM client.","nullable":true,"type":"string"},"address":{"default":null,"nullable":true,"type":"object","properties":{"street":{"default":null,"description":"Street and house number in the contact postal address.","nullable":true,"type":"string"},"postal":{"default":null,"description":"Postal code in the contact address.","nullable":true,"type":"string"},"city":{"default":null,"description":"City in the contact postal address.","nullable":true,"type":"string"},"state":{"default":null,"description":"State or region in the contact postal address.","nullable":true,"type":"string"},"country":{"default":null,"description":"Country in the contact postal address.","nullable":true,"type":"string"}},"required":["street","postal","city","state","country"],"additionalProperties":false,"description":"Postal address of the CRM client."},"status":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"],"description":"Current lifecycle or delivery status of this record."},"source":{"default":null,"description":"Origin channel that created or imported this CRM record.","nullable":true,"type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"utm":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"UTM parameter name."},"value":{"default":null,"description":"UTM parameter value.","nullable":true,"type":"string"}},"required":["type","value"],"additionalProperties":false},"description":"UTM campaign parameters captured with this CRM client."},"gadSource":{"default":null,"description":"Google Ads source value used to attribute this lead.","nullable":true,"type":"string"},"disqualificationReasonCode":{"default":null,"description":"Reason code explaining why the client was disqualified.","nullable":true,"type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"default":null,"description":"Human-readable explanation for the client disqualification.","nullable":true,"type":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom field."},"type":{"default":null,"description":"Type of the custom field.","nullable":true,"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"default":null,"description":"Value assigned to the custom field.","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"default":null,"description":"Identifier of the selected custom-field option.","nullable":true,"type":"string"}},"required":["id","type","value","valueId"],"additionalProperties":false,"description":"One custom-field value attached to this client."},"description":"CRM custom-field values attached to this client."},"tagIds":{"type":"array","items":{"type":"string","description":"Identifier of a CRM tag."},"description":"Identifiers of CRM tags assigned to this client."},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListOutputDefinitionSchema0"},"description":"Marketing and source metadata attached to the client record."},"privacyConsent":{"type":"boolean","description":"Whether the contact granted the recorded privacy consent."},"lastActivityAt":{"default":null,"description":"UTC timestamp of the most recent CRM activity.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextFollowUpAt":{"default":null,"description":"UTC timestamp of the next planned CRM follow-up.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastEngagedAt":{"description":"UTC timestamp of the latest human open or click of a campaign email. Machine opens (Apple Mail Privacy Protection) and link-scanner clicks never count. Absent when none was recorded.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"engagementStatus":{"description":"Campaign engagement status. new: no human open or click yet and not inactive (a new contact has a 90-day grace period). active: engaged and not inactive. inactive: at least 5 tracked campaign emails delivered over 90 days without a human open or click (emails opened by a mail privacy proxy do not count). sunset: still inactive 14 days after a re-engagement email, or inactive again after an earlier one (a contact gets one re-engagement email), so campaigns, sequences and automation emails skip it as inactive; transactional mail is unaffected. A new human open or click or a new marketing consent ends inactive and sunset. Filter clients and audiences by it with field engagementStatus.","type":"string","enum":["new","active","inactive","sunset"]},"unengagedCampaignCount":{"description":"Tracked campaign emails delivered since the latest human open or click or marketing consent grant.","type":"integer","minimum":0,"maximum":9007199254740991},"unengagedSince":{"description":"Send time of the first of those emails; absent when there are none.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reEngagementSentAt":{"description":"Send time of the latest re-engagement email delivered since the latest human open or click.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991,"internal":false,"description":"Current resource version used for optimistic updates."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this Moreflow record was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this record was last updated."},"archivedAt":{"default":null,"description":"UTC timestamp when this record was archived (moved to the trash).","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"permanentDeletionAt":{"description":"UTC timestamp when this trashed (archived) client is permanently deleted, 30 days after it was moved to the trash. Present only for archived clients; restore it before then with clients.index.restoreMany.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"owner":{"default":null,"description":"Display name of the owner; present on clients.list and clients.get reads.","nullable":true,"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"blocked":{"type":"boolean","description":"Whether the client is blocked."}},"required":["id","ownerUserId","email","firstName","lastName","phoneNumber","company","vatId","buyerReference","birthDate","recommender","address","status","source","utm","gadSource","disqualificationReasonCode","disqualificationReasonText","customFields","tagIds","attribution","privacyConsent","lastActivityAt","nextFollowUpAt","version","createdAt","updatedAt","archivedAt","owner","blocked"],"additionalProperties":false,"description":"CRM client profile returned by a client operation."}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore","client"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationClientsFollowUpsUpcomingListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListOutputDefinitionSchema0"}}]},"OperationClientsFollowUpsUpcomingListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsUpcomingListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsUpcomingListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListErrorDefinitionSchema1"}}]},"OperationClientsFollowUpsUpdateInput":{"type":"object","properties":{"followUpId":{"description":"Follow-up to update. Provide exactly one of followUpId or target.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"target":{"description":"Client-based selection of the follow-up to update, instead of followUpId.","type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client whose newest open follow-up is targeted."},"select":{"type":"string","enum":["newest_open"],"description":"Most recently created follow-up of the client that is neither completed nor deleted."}},"required":["clientId","select"],"additionalProperties":false},"followUpAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"note":{"type":"string"},"visibility":{"type":"string","enum":["private","assigned","global"]},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"dealId":{"nullable":true,"x-moreflow-reference":{"resolver":"deals.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to."},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"]},"completed":{"type":"boolean"},"deleted":{"type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}}},"OperationClientsFollowUpsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore"],"additionalProperties":false},"OperationClientsFollowUpsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","VALIDATION_ERROR","RECURRING_FOLLOW_UP_REQUIRES_COMPLETE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsFollowUpsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateErrorDefinitionSchema0"}}]},"OperationClientsFollowUpsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateErrorDefinitionSchema1"}}]},"OperationClientsGetInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client to retrieve."}},"required":["clientId"]},"OperationClientsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable identifier of this CRM client.","x-domain-id":"ClientId"},"ownerUserId":{"default":null,"description":"Account user responsible for this client; null when unassigned. Filter and sort by owner with clients.list.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"default":null,"description":"Email address used to contact this client or send notifications.","nullable":true,"type":"string"},"firstName":{"type":"string","description":"Given name of the person attached to this CRM record."},"lastName":{"type":"string","description":"Family name of the person attached to this CRM record."},"phoneNumber":{"default":null,"description":"Contact phone number in international format.","nullable":true,"type":"string"},"emails":{"description":"Every saved email address, primary first. `email` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"phones":{"description":"Every saved phone number, primary first. `phoneNumber` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"company":{"default":null,"description":"Company or organization associated with this contact.","nullable":true,"type":"string"},"vatId":{"default":null,"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string"},"buyerReference":{"default":null,"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung.","nullable":true,"type":"string"},"birthDate":{"default":null,"description":"Calendar birth date of the CRM client.","nullable":true,"type":"string"},"recommender":{"default":null,"description":"Person or referral source that introduced this CRM client.","nullable":true,"type":"string"},"address":{"default":null,"nullable":true,"type":"object","properties":{"street":{"default":null,"description":"Street and house number in the contact postal address.","nullable":true,"type":"string"},"postal":{"default":null,"description":"Postal code in the contact address.","nullable":true,"type":"string"},"city":{"default":null,"description":"City in the contact postal address.","nullable":true,"type":"string"},"state":{"default":null,"description":"State or region in the contact postal address.","nullable":true,"type":"string"},"country":{"default":null,"description":"Country in the contact postal address.","nullable":true,"type":"string"}},"required":["street","postal","city","state","country"],"additionalProperties":false,"description":"Postal address of the CRM client."},"status":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"],"description":"Current lifecycle or delivery status of this record."},"source":{"default":null,"description":"Origin channel that created or imported this CRM record.","nullable":true,"type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"utm":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"UTM parameter name."},"value":{"default":null,"description":"UTM parameter value.","nullable":true,"type":"string"}},"required":["type","value"],"additionalProperties":false},"description":"UTM campaign parameters captured with this CRM client."},"gadSource":{"default":null,"description":"Google Ads source value used to attribute this lead.","nullable":true,"type":"string"},"disqualificationReasonCode":{"default":null,"description":"Reason code explaining why the client was disqualified.","nullable":true,"type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"default":null,"description":"Human-readable explanation for the client disqualification.","nullable":true,"type":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom field."},"type":{"default":null,"description":"Type of the custom field.","nullable":true,"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"default":null,"description":"Value assigned to the custom field.","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"default":null,"description":"Identifier of the selected custom-field option.","nullable":true,"type":"string"}},"required":["id","type","value","valueId"],"additionalProperties":false,"description":"One custom-field value attached to this client."},"description":"CRM custom-field values attached to this client."},"tagIds":{"type":"array","items":{"type":"string","description":"Identifier of a CRM tag."},"description":"Identifiers of CRM tags assigned to this client."},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsGetOutputDefinitionSchema0"},"description":"Marketing and source metadata attached to the client record."},"privacyConsent":{"type":"boolean","description":"Whether the contact granted the recorded privacy consent."},"lastActivityAt":{"default":null,"description":"UTC timestamp of the most recent CRM activity.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextFollowUpAt":{"default":null,"description":"UTC timestamp of the next planned CRM follow-up.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastEngagedAt":{"description":"UTC timestamp of the latest human open or click of a campaign email. Machine opens (Apple Mail Privacy Protection) and link-scanner clicks never count. Absent when none was recorded.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"engagementStatus":{"description":"Campaign engagement status. new: no human open or click yet and not inactive (a new contact has a 90-day grace period). active: engaged and not inactive. inactive: at least 5 tracked campaign emails delivered over 90 days without a human open or click (emails opened by a mail privacy proxy do not count). sunset: still inactive 14 days after a re-engagement email, or inactive again after an earlier one (a contact gets one re-engagement email), so campaigns, sequences and automation emails skip it as inactive; transactional mail is unaffected. A new human open or click or a new marketing consent ends inactive and sunset. Filter clients and audiences by it with field engagementStatus.","type":"string","enum":["new","active","inactive","sunset"]},"unengagedCampaignCount":{"description":"Tracked campaign emails delivered since the latest human open or click or marketing consent grant.","type":"integer","minimum":0,"maximum":9007199254740991},"unengagedSince":{"description":"Send time of the first of those emails; absent when there are none.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reEngagementSentAt":{"description":"Send time of the latest re-engagement email delivered since the latest human open or click.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991,"internal":false,"description":"Current resource version used for optimistic updates."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this Moreflow record was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this record was last updated."},"archivedAt":{"default":null,"description":"UTC timestamp when this record was archived (moved to the trash).","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"permanentDeletionAt":{"description":"UTC timestamp when this trashed (archived) client is permanently deleted, 30 days after it was moved to the trash. Present only for archived clients; restore it before then with clients.index.restoreMany.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"owner":{"default":null,"description":"Display name of the owner; present on clients.list and clients.get reads.","nullable":true,"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"blocked":{"type":"boolean","description":"Whether the client is blocked."},"editCapabilities":{"type":"object","properties":{"canEdit":{"type":"boolean","description":"Whether the caller may edit this client: contact details, status, tags, custom fields, contact points, block state and avatar."},"canDelete":{"type":"boolean","description":"Whether the caller may move this client to the trash or permanently delete it."},"canAssignOwner":{"type":"boolean","description":"Whether the caller may change the owner: claim it when unassigned, or hand it off when owned by the caller."}},"required":["canEdit","canDelete","canAssignOwner"],"additionalProperties":false,"description":"Edit capabilities of the caller for this client under the account client edit policy."}},"required":["id","ownerUserId","email","firstName","lastName","phoneNumber","company","vatId","buyerReference","birthDate","recommender","address","status","source","utm","gadSource","disqualificationReasonCode","disqualificationReasonText","customFields","tagIds","attribution","privacyConsent","lastActivityAt","nextFollowUpAt","version","createdAt","updatedAt","archivedAt","owner","blocked","editCapabilities"],"additionalProperties":false},"OperationClientsGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsGetOutputDefinitionSchema0"}}]},"OperationClientsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsGetErrorDefinitionSchema0"}}]},"OperationClientsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsGetErrorDefinitionSchema1"}}]},"OperationClientsInboundAssignmentGetInput":{"type":"object","properties":{}},"OperationClientsInboundAssignmentGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["inboundAssignment"],"description":"The account inbound assignment singleton."},"mode":{"type":"string","enum":["none","fixed","round_robin"],"description":"'none': new clients from forms, chatbots and public bookings stay unassigned. 'fixed': they go to fixedUserId. 'round_robin': they rotate among memberUserIds."},"fixedUserId":{"nullable":true,"x-moreflow-reference":{"resolver":"users.memberships.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Member for mode fixed; null otherwise."},"memberUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Member chosen for round_robin."},"description":"Chosen round-robin members. Deactivated members are skipped when a lead arrives.","x-moreflow-reference":{"resolver":"users.memberships.batchGet"}},"candidates":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Active account member who may own inbound clients."},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"description":"Active members a rule can name."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"True when the caller is an owner or admin (or a service actor) and may change the rule."}},"required":["canManage"],"additionalProperties":false}},"required":["id","mode","fixedUserId","memberUserIds","candidates","capabilities"],"additionalProperties":false},"OperationClientsInboundAssignmentGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsInboundAssignmentGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetErrorDefinitionSchema0"}}]},"OperationClientsInboundAssignmentGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetErrorDefinitionSchema1"}}]},"OperationClientsInboundAssignmentUpdateInput":{"type":"object","properties":{"mode":{"type":"string","enum":["none","fixed","round_robin"],"description":"The rule to store: 'none', 'fixed' or 'round_robin'."},"fixedUserId":{"x-moreflow-reference":{"resolver":"users.memberships.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Required for mode fixed: the active member who owns every new inbound client."},"memberUserIds":{"description":"Required for mode round_robin (at least one active member).","x-moreflow-reference":{"resolver":"users.memberships.batchGet"},"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Active member to include in the rotation."}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["mode"]},"OperationClientsInboundAssignmentUpdateOutput":{"type":"object","properties":{"id":{"type":"string","enum":["inboundAssignment"],"description":"The account inbound assignment singleton."},"mode":{"type":"string","enum":["none","fixed","round_robin"],"description":"'none': new clients from forms, chatbots and public bookings stay unassigned. 'fixed': they go to fixedUserId. 'round_robin': they rotate among memberUserIds."},"fixedUserId":{"nullable":true,"x-moreflow-reference":{"resolver":"users.memberships.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Member for mode fixed; null otherwise."},"memberUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Member chosen for round_robin."},"description":"Chosen round-robin members. Deactivated members are skipped when a lead arrives.","x-moreflow-reference":{"resolver":"users.memberships.batchGet"}},"candidates":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Active account member who may own inbound clients."},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"description":"Active members a rule can name."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"True when the caller is an owner or admin (or a service actor) and may change the rule."}},"required":["canManage"],"additionalProperties":false}},"required":["id","mode","fixedUserId","memberUserIds","candidates","capabilities"],"additionalProperties":false},"OperationClientsInboundAssignmentUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","FORBIDDEN","INBOUND_ASSIGNMENT_INVALID","CLIENT_OWNER_NOT_MEMBER"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsInboundAssignmentUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateErrorDefinitionSchema0"}}]},"OperationClientsInboundAssignmentUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateErrorDefinitionSchema1"}}]},"OperationClientsListInput":{"type":"object","properties":{"status":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"query":{"description":"Optional text matched against client names and contact details.","type":"string"},"includeDeleted":{"type":"boolean"},"lifecycle":{"description":"Which clients to list. active (default) lists clients that are not archived. trash lists only archived clients, ordered by permanent deletion date (oldest first, 30 days after archiving); in trash mode sort and includeDeleted are ignored and the cursor must come from a trash page.","type":"string","enum":["active","trash"]},"tagIds":{"type":"array","items":{"type":"string"}},"ids":{"description":"Restrict the page to these client ids; all other filters, sort and lifecycle still apply; used by clients to refresh specific rows. Counts (totalCount, unfilteredCount) still describe the whole view.","minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"filters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"field":{"type":"string","minLength":1},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty","in","not_in","after","before","greater_than","less_than"]},{"not":{}}]},"value":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"type":{"type":"string"},"logicalOperator":{"description":"Connector to the preceding active filter (and | or); the first connector is ignored. and binds more tightly than or.","anyOf":[{"type":"string","enum":["and","or"]},{"not":{}}]},"disabled":{"type":"boolean"},"disabledReason":{"type":"string"}},"required":["field","operator"]}},"sort":{"type":"object","properties":{"field":{"type":"string","minLength":1},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]},"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"includeCounts":{"type":"boolean"},"includeFollowUps":{"type":"boolean"},"includeCustomFields":{"type":"boolean"},"includeTags":{"type":"boolean"},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}}},"OperationClientsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable identifier of this CRM client.","x-domain-id":"ClientId"},"ownerUserId":{"default":null,"description":"Account user responsible for this client; null when unassigned. Filter and sort by owner with clients.list.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"default":null,"description":"Email address used to contact this client or send notifications.","nullable":true,"type":"string"},"firstName":{"type":"string","description":"Given name of the person attached to this CRM record."},"lastName":{"type":"string","description":"Family name of the person attached to this CRM record."},"phoneNumber":{"default":null,"description":"Contact phone number in international format.","nullable":true,"type":"string"},"emails":{"description":"Every saved email address, primary first. `email` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"phones":{"description":"Every saved phone number, primary first. `phoneNumber` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"company":{"default":null,"description":"Company or organization associated with this contact.","nullable":true,"type":"string"},"vatId":{"default":null,"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string"},"buyerReference":{"default":null,"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung.","nullable":true,"type":"string"},"birthDate":{"default":null,"description":"Calendar birth date of the CRM client.","nullable":true,"type":"string"},"recommender":{"default":null,"description":"Person or referral source that introduced this CRM client.","nullable":true,"type":"string"},"address":{"default":null,"nullable":true,"type":"object","properties":{"street":{"default":null,"description":"Street and house number in the contact postal address.","nullable":true,"type":"string"},"postal":{"default":null,"description":"Postal code in the contact address.","nullable":true,"type":"string"},"city":{"default":null,"description":"City in the contact postal address.","nullable":true,"type":"string"},"state":{"default":null,"description":"State or region in the contact postal address.","nullable":true,"type":"string"},"country":{"default":null,"description":"Country in the contact postal address.","nullable":true,"type":"string"}},"required":["street","postal","city","state","country"],"additionalProperties":false,"description":"Postal address of the CRM client."},"status":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"],"description":"Current lifecycle or delivery status of this record."},"source":{"default":null,"description":"Origin channel that created or imported this CRM record.","nullable":true,"type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"utm":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"UTM parameter name."},"value":{"default":null,"description":"UTM parameter value.","nullable":true,"type":"string"}},"required":["type","value"],"additionalProperties":false},"description":"UTM campaign parameters captured with this CRM client."},"gadSource":{"default":null,"description":"Google Ads source value used to attribute this lead.","nullable":true,"type":"string"},"disqualificationReasonCode":{"default":null,"description":"Reason code explaining why the client was disqualified.","nullable":true,"type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"default":null,"description":"Human-readable explanation for the client disqualification.","nullable":true,"type":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom field."},"type":{"default":null,"description":"Type of the custom field.","nullable":true,"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"default":null,"description":"Value assigned to the custom field.","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"default":null,"description":"Identifier of the selected custom-field option.","nullable":true,"type":"string"}},"required":["id","type","value","valueId"],"additionalProperties":false,"description":"One custom-field value attached to this client."},"description":"CRM custom-field values attached to this client."},"tagIds":{"type":"array","items":{"type":"string","description":"Identifier of a CRM tag."},"description":"Identifiers of CRM tags assigned to this client."},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsListOutputDefinitionSchema0"},"description":"Marketing and source metadata attached to the client record."},"privacyConsent":{"type":"boolean","description":"Whether the contact granted the recorded privacy consent."},"lastActivityAt":{"default":null,"description":"UTC timestamp of the most recent CRM activity.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextFollowUpAt":{"default":null,"description":"UTC timestamp of the next planned CRM follow-up.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastEngagedAt":{"description":"UTC timestamp of the latest human open or click of a campaign email. Machine opens (Apple Mail Privacy Protection) and link-scanner clicks never count. Absent when none was recorded.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"engagementStatus":{"description":"Campaign engagement status. new: no human open or click yet and not inactive (a new contact has a 90-day grace period). active: engaged and not inactive. inactive: at least 5 tracked campaign emails delivered over 90 days without a human open or click (emails opened by a mail privacy proxy do not count). sunset: still inactive 14 days after a re-engagement email, or inactive again after an earlier one (a contact gets one re-engagement email), so campaigns, sequences and automation emails skip it as inactive; transactional mail is unaffected. A new human open or click or a new marketing consent ends inactive and sunset. Filter clients and audiences by it with field engagementStatus.","type":"string","enum":["new","active","inactive","sunset"]},"unengagedCampaignCount":{"description":"Tracked campaign emails delivered since the latest human open or click or marketing consent grant.","type":"integer","minimum":0,"maximum":9007199254740991},"unengagedSince":{"description":"Send time of the first of those emails; absent when there are none.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reEngagementSentAt":{"description":"Send time of the latest re-engagement email delivered since the latest human open or click.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991,"internal":false,"description":"Current resource version used for optimistic updates."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this Moreflow record was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this record was last updated."},"archivedAt":{"default":null,"description":"UTC timestamp when this record was archived (moved to the trash).","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"permanentDeletionAt":{"description":"UTC timestamp when this trashed (archived) client is permanently deleted, 30 days after it was moved to the trash. Present only for archived clients; restore it before then with clients.index.restoreMany.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"owner":{"default":null,"description":"Display name of the owner; present on clients.list and clients.get reads.","nullable":true,"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"blocked":{"type":"boolean","description":"Whether the client is blocked."},"editCapabilities":{"type":"object","properties":{"canEdit":{"type":"boolean","description":"Whether the caller may edit this client: contact details, status, tags, custom fields, contact points, block state and avatar."},"canDelete":{"type":"boolean","description":"Whether the caller may move this client to the trash or permanently delete it."},"canAssignOwner":{"type":"boolean","description":"Whether the caller may change the owner: claim it when unassigned, or hand it off when owned by the caller."}},"required":["canEdit","canDelete","canAssignOwner"],"additionalProperties":false,"description":"Edit capabilities of the caller for this client under the account client edit policy."}},"required":["id","ownerUserId","email","firstName","lastName","phoneNumber","company","vatId","buyerReference","birthDate","recommender","address","status","source","utm","gadSource","disqualificationReasonCode","disqualificationReasonText","customFields","tagIds","attribution","privacyConsent","lastActivityAt","nextFollowUpAt","version","createdAt","updatedAt","archivedAt","owner","blocked","editCapabilities"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Opaque cursor for the next page, or null at the end.","type":"string"},"capabilities":{"type":"object","properties":{"canCreateClient":{"type":"boolean","description":"Whether the caller may create clients."},"canUpdateClient":{"type":"boolean","description":"Whether the caller may update clients."},"canArchiveClient":{"type":"boolean","description":"Whether the caller may archive clients."},"canCreateNote":{"type":"boolean","description":"Whether the caller may create client notes."},"canPinNote":{"type":"boolean","description":"Whether the caller may pin client notes."},"canCreateFollowUp":{"type":"boolean","description":"Whether the caller may create follow-ups."},"canCompleteFollowUp":{"type":"boolean","description":"Whether the caller may complete follow-ups."},"canReadCustomFields":{"type":"boolean","description":"Whether the caller may read custom fields."},"canReadTags":{"type":"boolean","description":"Whether the caller may read tags."},"canBulkUpdateStatus":{"type":"boolean","description":"Whether the caller may bulk-update status."},"canBulkBlock":{"type":"boolean","description":"Whether the caller may bulk-block clients."},"canBulkArchive":{"type":"boolean","description":"Whether the caller may bulk-archive clients."},"canRestoreClients":{"type":"boolean","description":"Whether the caller may restore trashed clients with clients.index.restoreMany."},"canPurgeClients":{"type":"boolean","description":"Whether the caller may permanently delete trashed clients now; false while the deployment disables purge."},"canExportClients":{"type":"boolean","description":"Whether the caller may export clients as CSV with clients.export.csv (account owners and admins only)."},"canBulkGrantTracking":{"type":"boolean","description":"Whether the caller may grant email tracking consent for several clients in one clients.consent.eventBatches.create call (account owners and admins only; each grant needs a note with the reason or source). Withdrawals and single-client grants do not need it."}},"required":["canCreateClient","canUpdateClient","canArchiveClient","canCreateNote","canPinNote","canCreateFollowUp","canCompleteFollowUp","canReadCustomFields","canReadTags","canBulkUpdateStatus","canBulkBlock","canBulkArchive","canRestoreClients","canPurgeClients","canExportClients","canBulkGrantTracking"],"additionalProperties":false,"description":"Capabilities available to the caller for the client list surface."}},"required":["items","nextCursor","capabilities"],"additionalProperties":false},"OperationClientsListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsListOutputDefinitionSchema0"}}]},"OperationClientsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsListErrorDefinitionSchema0"}}]},"OperationClientsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsListErrorDefinitionSchema1"}}]},"OperationClientsNotesCreateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with the operation."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"content":{"type":"string"},"contentPreview":{"type":"string"},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","content"]},"OperationClientsNotesCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"note id"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client owning this note."},"dealId":{"description":"Deal of the same client this note is about, if any.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"default":null,"nullable":true,"type":"string"},"content":{"type":"string","description":"Note body."},"contentPreview":{"default":null,"nullable":true,"type":"string"},"importedAuthor":{"default":null,"nullable":true,"type":"string"},"sourceProvider":{"default":null,"nullable":true,"type":"string"},"noteType":{"type":"string","description":"Note type."},"pinnedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Account users mentioned in the note."},"editedByUserIds":{"x-moreflow-reference":{"resolver":"users.memberships.batchGet"},"description":"Account users who changed the note title or body, most recent editor first. Mentions are not edits.","type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was last updated."},"deletedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pinned":{"type":"boolean"},"draft":{"type":"boolean"},"deleted":{"type":"boolean"}},"required":["id","clientId","title","content","contentPreview","importedAuthor","sourceProvider","noteType","pinnedAt","mentionedUserIds","createdAt","updatedAt","deletedAt","pinned","draft","deleted"],"additionalProperties":false},"OperationClientsNotesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsNotesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsNotesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesCreateErrorDefinitionSchema0"}}]},"OperationClientsNotesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsNotesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesCreateErrorDefinitionSchema1"}}]},"OperationClientsNotesDeleteInput":{"type":"object","properties":{"noteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"note id"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["noteId"]},"OperationClientsNotesDeleteOutput":{"type":"object","properties":{"note":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"note id"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client owning this note."},"dealId":{"description":"Deal of the same client this note is about, if any.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"default":null,"nullable":true,"type":"string"},"content":{"type":"string","description":"Note body."},"contentPreview":{"default":null,"nullable":true,"type":"string"},"importedAuthor":{"default":null,"nullable":true,"type":"string"},"sourceProvider":{"default":null,"nullable":true,"type":"string"},"noteType":{"type":"string","description":"Note type."},"pinnedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Account users mentioned in the note."},"editedByUserIds":{"x-moreflow-reference":{"resolver":"users.memberships.batchGet"},"description":"Account users who changed the note title or body, most recent editor first. Mentions are not edits.","type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was last updated."},"deletedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pinned":{"type":"boolean"},"draft":{"type":"boolean"},"deleted":{"type":"boolean"}},"required":["id","clientId","title","content","contentPreview","importedAuthor","sourceProvider","noteType","pinnedAt","mentionedUserIds","createdAt","updatedAt","deletedAt","pinned","draft","deleted"],"additionalProperties":false}},"required":["note"],"additionalProperties":false},"OperationClientsNotesDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsNotesDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsNotesDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesDeleteErrorDefinitionSchema0"}}]},"OperationClientsNotesDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsNotesDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesDeleteErrorDefinitionSchema1"}}]},"OperationClientsNotesGetInput":{"type":"object","properties":{"noteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"note id"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with the operation."}},"required":["noteId","clientId"]},"OperationClientsNotesGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"note id"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client owning this note."},"dealId":{"description":"Deal of the same client this note is about, if any.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"default":null,"nullable":true,"type":"string"},"content":{"type":"string","description":"Note body."},"contentPreview":{"default":null,"nullable":true,"type":"string"},"importedAuthor":{"default":null,"nullable":true,"type":"string"},"sourceProvider":{"default":null,"nullable":true,"type":"string"},"noteType":{"type":"string","description":"Note type."},"pinnedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Account users mentioned in the note."},"editedByUserIds":{"x-moreflow-reference":{"resolver":"users.memberships.batchGet"},"description":"Account users who changed the note title or body, most recent editor first. Mentions are not edits.","type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was last updated."},"deletedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pinned":{"type":"boolean"},"draft":{"type":"boolean"},"deleted":{"type":"boolean"},"capabilities":{"type":"object","properties":{"canEditBody":{"type":"boolean"},"bodyOwner":{"type":"string","enum":["operation","collaboration"]}},"required":["canEditBody","bodyOwner"],"additionalProperties":false}},"required":["id","clientId","title","content","contentPreview","importedAuthor","sourceProvider","noteType","pinnedAt","mentionedUserIds","createdAt","updatedAt","deletedAt","pinned","draft","deleted","capabilities"],"additionalProperties":false},"OperationClientsNotesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsNotesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsNotesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesGetErrorDefinitionSchema0"}}]},"OperationClientsNotesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsNotesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesGetErrorDefinitionSchema1"}}]},"OperationClientsNotesListInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with the operation."},"dealId":{"description":"Only notes linked to this deal; the deal must belong to the client.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"deals.get"}},"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"includeContent":{"default":false,"description":"Include full note bodies in the returned items.","type":"boolean"}},"required":["clientId"]},"OperationClientsNotesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"note id"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client owning this note."},"dealId":{"description":"Deal of the same client this note is about, if any.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"default":null,"nullable":true,"type":"string"},"content":{"default":null,"nullable":true,"type":"string"},"contentPreview":{"default":null,"nullable":true,"type":"string"},"importedAuthor":{"default":null,"nullable":true,"type":"string"},"sourceProvider":{"default":null,"nullable":true,"type":"string"},"noteType":{"type":"string","description":"Note type."},"pinnedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Account users mentioned in the note."},"editedByUserIds":{"x-moreflow-reference":{"resolver":"users.memberships.batchGet"},"description":"Account users who changed the note title or body, most recent editor first. Mentions are not edits.","type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was last updated."},"deletedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pinned":{"type":"boolean"},"draft":{"type":"boolean"},"deleted":{"type":"boolean"}},"required":["id","clientId","title","content","contentPreview","importedAuthor","sourceProvider","noteType","pinnedAt","mentionedUserIds","createdAt","updatedAt","deletedAt","pinned","draft","deleted"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationClientsNotesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsNotesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsNotesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesListErrorDefinitionSchema0"}}]},"OperationClientsNotesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsNotesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesListErrorDefinitionSchema1"}}]},"OperationClientsNotesUpdateInput":{"type":"object","properties":{"noteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"note id"},"dealId":{"description":"Deal of the note client to link; null clears the link.","nullable":true,"x-moreflow-reference":{"resolver":"deals.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"content":{"type":"string"},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"pinned":{"type":"boolean"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with the operation."},"title":{"nullable":true,"type":"string"},"contentPreview":{"nullable":true,"type":"string"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["noteId","clientId"]},"OperationClientsNotesUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"note id"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client owning this note."},"dealId":{"description":"Deal of the same client this note is about, if any.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"default":null,"nullable":true,"type":"string"},"content":{"type":"string","description":"Note body."},"contentPreview":{"default":null,"nullable":true,"type":"string"},"importedAuthor":{"default":null,"nullable":true,"type":"string"},"sourceProvider":{"default":null,"nullable":true,"type":"string"},"noteType":{"type":"string","description":"Note type."},"pinnedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Account users mentioned in the note."},"editedByUserIds":{"x-moreflow-reference":{"resolver":"users.memberships.batchGet"},"description":"Account users who changed the note title or body, most recent editor first. Mentions are not edits.","type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was last updated."},"deletedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pinned":{"type":"boolean"},"draft":{"type":"boolean"},"deleted":{"type":"boolean"}},"required":["id","clientId","title","content","contentPreview","importedAuthor","sourceProvider","noteType","pinnedAt","mentionedUserIds","createdAt","updatedAt","deletedAt","pinned","draft","deleted"],"additionalProperties":false},"OperationClientsNotesUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","NOTE_BODY_COLLABORATION_OWNED","COLLABORATION_PROJECTION_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsNotesUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsNotesUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesUpdateErrorDefinitionSchema0"}}]},"OperationClientsNotesUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsNotesUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsNotesUpdateErrorDefinitionSchema1"}}]},"OperationClientsOwnerBatchUpdateInput":{"type":"object","properties":{"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Active account member to assign; null unassigns the selected clients."},"clientIds":{"description":"Explicit clients to change, 1 to 500 ids. Use instead of filter.","minItems":1,"maxItems":500,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client to change."}},"filter":{"description":"Every active client matching this filter; it must match at most 500 clients (use clients.owner.bulkJobs.create for more). Use instead of clientIds. An empty filter selects every active client.","type":"object","properties":{"status":{"description":"Optional client lifecycle status to include.","type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"query":{"description":"Optional text matched against client names and contact details.","type":"string"},"tagIds":{"type":"array","items":{"type":"string"}},"filters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"field":{"type":"string","minLength":1},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty","in","not_in","after","before","greater_than","less_than"]},{"not":{}}]},"value":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"type":{"type":"string"},"logicalOperator":{"description":"Connector to the preceding active filter (and | or); the first connector is ignored. and binds more tightly than or.","anyOf":[{"type":"string","enum":["and","or"]},{"not":{}}]},"disabled":{"type":"boolean"},"disabledReason":{"type":"string"}},"required":["field","operator"]}}}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["ownerUserId"],"additionalProperties":false},"OperationClientsOwnerBatchUpdateOutput":{"type":"object","properties":{"matchedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Clients selected by clientIds or matched by filter."},"changedClientIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client whose owner changed."},"x-moreflow-reference":{"resolver":"clients.get"},"description":"Clients whose owner changed; clients already owned by ownerUserId are skipped."}},"required":["matchedCount","changedClientIds"],"additionalProperties":false},"OperationClientsOwnerBatchUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CLIENT_OWNER_NOT_MEMBER","CLIENT_OWNER_FILTER_INVALID","CLIENT_OWNER_BULK_TOO_LARGE","CLIENT_ASSIGN_NOT_ALLOWED","CLIENT_EDIT_NOT_OWNER","CONFLICT","PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsOwnerBatchUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateErrorDefinitionSchema0"}}]},"OperationClientsOwnerBatchUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateErrorDefinitionSchema1"}}]},"OperationClientsSearchInput":{"type":"object","properties":{"query":{"description":"Optional text matched against client names and contact details.","type":"string"},"includeDeleted":{"type":"boolean"},"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}}},"OperationClientsSearchOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable identifier of this CRM client.","x-domain-id":"ClientId"},"ownerUserId":{"default":null,"description":"Account user responsible for this client; null when unassigned. Filter and sort by owner with clients.list.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"default":null,"description":"Email address used to contact this client or send notifications.","nullable":true,"type":"string"},"firstName":{"type":"string","description":"Given name of the person attached to this CRM record."},"lastName":{"type":"string","description":"Family name of the person attached to this CRM record."},"phoneNumber":{"default":null,"description":"Contact phone number in international format.","nullable":true,"type":"string"},"emails":{"description":"Every saved email address, primary first. `email` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"phones":{"description":"Every saved phone number, primary first. `phoneNumber` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"company":{"default":null,"description":"Company or organization associated with this contact.","nullable":true,"type":"string"},"vatId":{"default":null,"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string"},"buyerReference":{"default":null,"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung.","nullable":true,"type":"string"},"birthDate":{"default":null,"description":"Calendar birth date of the CRM client.","nullable":true,"type":"string"},"recommender":{"default":null,"description":"Person or referral source that introduced this CRM client.","nullable":true,"type":"string"},"address":{"default":null,"nullable":true,"type":"object","properties":{"street":{"default":null,"description":"Street and house number in the contact postal address.","nullable":true,"type":"string"},"postal":{"default":null,"description":"Postal code in the contact address.","nullable":true,"type":"string"},"city":{"default":null,"description":"City in the contact postal address.","nullable":true,"type":"string"},"state":{"default":null,"description":"State or region in the contact postal address.","nullable":true,"type":"string"},"country":{"default":null,"description":"Country in the contact postal address.","nullable":true,"type":"string"}},"required":["street","postal","city","state","country"],"additionalProperties":false,"description":"Postal address of the CRM client."},"status":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"],"description":"Current lifecycle or delivery status of this record."},"source":{"default":null,"description":"Origin channel that created or imported this CRM record.","nullable":true,"type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"utm":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"UTM parameter name."},"value":{"default":null,"description":"UTM parameter value.","nullable":true,"type":"string"}},"required":["type","value"],"additionalProperties":false},"description":"UTM campaign parameters captured with this CRM client."},"gadSource":{"default":null,"description":"Google Ads source value used to attribute this lead.","nullable":true,"type":"string"},"disqualificationReasonCode":{"default":null,"description":"Reason code explaining why the client was disqualified.","nullable":true,"type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"default":null,"description":"Human-readable explanation for the client disqualification.","nullable":true,"type":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom field."},"type":{"default":null,"description":"Type of the custom field.","nullable":true,"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"default":null,"description":"Value assigned to the custom field.","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"default":null,"description":"Identifier of the selected custom-field option.","nullable":true,"type":"string"}},"required":["id","type","value","valueId"],"additionalProperties":false,"description":"One custom-field value attached to this client."},"description":"CRM custom-field values attached to this client."},"tagIds":{"type":"array","items":{"type":"string","description":"Identifier of a CRM tag."},"description":"Identifiers of CRM tags assigned to this client."},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsSearchOutputDefinitionSchema0"},"description":"Marketing and source metadata attached to the client record."},"privacyConsent":{"type":"boolean","description":"Whether the contact granted the recorded privacy consent."},"lastActivityAt":{"default":null,"description":"UTC timestamp of the most recent CRM activity.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextFollowUpAt":{"default":null,"description":"UTC timestamp of the next planned CRM follow-up.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastEngagedAt":{"description":"UTC timestamp of the latest human open or click of a campaign email. Machine opens (Apple Mail Privacy Protection) and link-scanner clicks never count. Absent when none was recorded.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"engagementStatus":{"description":"Campaign engagement status. new: no human open or click yet and not inactive (a new contact has a 90-day grace period). active: engaged and not inactive. inactive: at least 5 tracked campaign emails delivered over 90 days without a human open or click (emails opened by a mail privacy proxy do not count). sunset: still inactive 14 days after a re-engagement email, or inactive again after an earlier one (a contact gets one re-engagement email), so campaigns, sequences and automation emails skip it as inactive; transactional mail is unaffected. A new human open or click or a new marketing consent ends inactive and sunset. Filter clients and audiences by it with field engagementStatus.","type":"string","enum":["new","active","inactive","sunset"]},"unengagedCampaignCount":{"description":"Tracked campaign emails delivered since the latest human open or click or marketing consent grant.","type":"integer","minimum":0,"maximum":9007199254740991},"unengagedSince":{"description":"Send time of the first of those emails; absent when there are none.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reEngagementSentAt":{"description":"Send time of the latest re-engagement email delivered since the latest human open or click.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991,"internal":false,"description":"Current resource version used for optimistic updates."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this Moreflow record was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this record was last updated."},"archivedAt":{"default":null,"description":"UTC timestamp when this record was archived (moved to the trash).","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"permanentDeletionAt":{"description":"UTC timestamp when this trashed (archived) client is permanently deleted, 30 days after it was moved to the trash. Present only for archived clients; restore it before then with clients.index.restoreMany.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"owner":{"default":null,"description":"Display name of the owner; present on clients.list and clients.get reads.","nullable":true,"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"blocked":{"type":"boolean","description":"Whether the client is blocked."},"score":{"type":"number","minimum":0},"matchedFields":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["email","phoneNumber","name","company"]},"kind":{"type":"string","enum":["exact","prefix","substring","fuzzy"]},"terms":{"type":"array","items":{"type":"string"}},"matchedValue":{"default":null,"nullable":true,"type":"string"},"contactPointId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"primary":{"default":null,"nullable":true,"type":"boolean"}},"required":["field","kind","terms","matchedValue","contactPointId","primary"],"additionalProperties":false}}},"required":["id","ownerUserId","email","firstName","lastName","phoneNumber","company","vatId","buyerReference","birthDate","recommender","address","status","source","utm","gadSource","disqualificationReasonCode","disqualificationReasonText","customFields","tagIds","attribution","privacyConsent","lastActivityAt","nextFollowUpAt","version","createdAt","updatedAt","archivedAt","owner","blocked","score","matchedFields"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationClientsSearchOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsSearchOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsSearchOutputDefinitionSchema0"}}]},"OperationClientsSearchError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsSearchErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsSearchErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsSearchErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsSearchErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsSearchErrorDefinitionSchema0"}}]},"OperationClientsSearchErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsSearchErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsSearchErrorDefinitionSchema1"}}]},"OperationClientsTagsBatchCreateInput":{"type":"object","properties":{"tagIds":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of the tag."}},"clientIds":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of a client to change."},"description":"Explicit clients to change, 1 to 500 ids."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["tagIds","clientIds"],"additionalProperties":false},"OperationClientsTagsBatchCreateOutput":{"type":"object","properties":{"matchedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Clients selected by clientIds."},"changedClientIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Clients whose tag set actually changed; already-assigned or already-unassigned clients are skipped.","x-moreflow-reference":{"resolver":"clients.get"}}},"required":["matchedCount","changedClientIds"],"additionalProperties":false},"OperationClientsTagsBatchCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CLIENT_EDIT_NOT_OWNER"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsTagsBatchCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateErrorDefinitionSchema0"}}]},"OperationClientsTagsBatchCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateErrorDefinitionSchema1"}}]},"OperationClientsTagsBatchDeleteInput":{"type":"object","properties":{"tagIds":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of the tag."}},"clientIds":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of a client to change."},"description":"Explicit clients to change, 1 to 500 ids."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["tagIds","clientIds"],"additionalProperties":false},"OperationClientsTagsBatchDeleteOutput":{"type":"object","properties":{"matchedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Clients selected by clientIds."},"changedClientIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Clients whose tag set actually changed; already-assigned or already-unassigned clients are skipped.","x-moreflow-reference":{"resolver":"clients.get"}}},"required":["matchedCount","changedClientIds"],"additionalProperties":false},"OperationClientsTagsBatchDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CLIENT_EDIT_NOT_OWNER"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsTagsBatchDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteErrorDefinitionSchema0"}}]},"OperationClientsTagsBatchDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteErrorDefinitionSchema1"}}]},"OperationClientsTagsBulkJobsCreateInput":{"type":"object","properties":{"mode":{"type":"string","enum":["add","remove"],"description":"add assigns the tags; remove unassigns them."},"tagIds":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of the tag."}},"filter":{"description":"Every active client matching this filter. Omit to target every active client of the account.","type":"object","properties":{"status":{"description":"Optional client lifecycle status to include.","type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"query":{"description":"Optional text matched against client names and contact details.","type":"string"},"tagIds":{"type":"array","items":{"type":"string"}},"filters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"field":{"type":"string","minLength":1},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty","in","not_in","after","before","greater_than","less_than"]},{"not":{}}]},"value":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"type":{"type":"string"},"logicalOperator":{"description":"Connector to the preceding active filter (and | or); the first connector is ignored. and binds more tightly than or.","anyOf":[{"type":"string","enum":["and","or"]},{"not":{}}]},"disabled":{"type":"boolean"},"disabledReason":{"type":"string"}},"required":["field","operator"]}}}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["mode","tagIds"]},"OperationClientsTagsBulkJobsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of a bulk tag job.","x-moreflow-reference":{"resolver":"clients.tags.bulkJobs.get"}},"mode":{"type":"string","enum":["add","remove"]},"tagIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of the tag."}},"status":{"type":"string","enum":["queued","running","completed","failed"],"description":"queued: waiting for the worker; running: pages in progress; completed or failed: terminal."},"matchedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Clients the filter matched when the job started."},"processedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Clients visited so far."},"changedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Clients whose tag set actually changed so far."},"errorCode":{"nullable":true,"description":"Failure code when status is failed, otherwise null.","type":"string"},"errorMessage":{"nullable":true,"description":"Failure reason when status is failed, otherwise null.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","mode","tagIds","status","matchedCount","processedCount","changedCount","errorCode","errorMessage","createdAt","updatedAt","startedAt","completedAt"],"additionalProperties":false},"OperationClientsTagsBulkJobsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsTagsBulkJobsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateErrorDefinitionSchema0"}}]},"OperationClientsTagsBulkJobsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateErrorDefinitionSchema1"}}]},"OperationClientsTagsBulkJobsEstimateInput":{"type":"object","properties":{"filter":{"description":"Client list filter to count. Omit to count every active client of the account.","type":"object","properties":{"status":{"description":"Optional client lifecycle status to include.","type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"query":{"description":"Optional text matched against client names and contact details.","type":"string"},"tagIds":{"type":"array","items":{"type":"string"}},"filters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"field":{"type":"string","minLength":1},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty","in","not_in","after","before","greater_than","less_than"]},{"not":{}}]},"value":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"type":{"type":"string"},"logicalOperator":{"description":"Connector to the preceding active filter (and | or); the first connector is ignored. and binds more tightly than or.","anyOf":[{"type":"string","enum":["and","or"]},{"not":{}}]},"disabled":{"type":"boolean"},"disabledReason":{"type":"string"}},"required":["field","operator"]}}}}}},"OperationClientsTagsBulkJobsEstimateOutput":{"type":"object","properties":{"matchingCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Exact number of active clients the filter matches; the number a bulk job would change."}},"required":["matchingCount"],"additionalProperties":false},"OperationClientsTagsBulkJobsEstimateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsTagsBulkJobsEstimateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateErrorDefinitionSchema0"}}]},"OperationClientsTagsBulkJobsEstimateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateErrorDefinitionSchema1"}}]},"OperationClientsTagsBulkJobsGetInput":{"type":"object","properties":{"jobId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of a bulk tag job.","x-moreflow-reference":{"resolver":"clients.tags.bulkJobs.get"}}},"required":["jobId"]},"OperationClientsTagsBulkJobsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of a bulk tag job.","x-moreflow-reference":{"resolver":"clients.tags.bulkJobs.get"}},"mode":{"type":"string","enum":["add","remove"]},"tagIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of the tag."}},"status":{"type":"string","enum":["queued","running","completed","failed"],"description":"queued: waiting for the worker; running: pages in progress; completed or failed: terminal."},"matchedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Clients the filter matched when the job started."},"processedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Clients visited so far."},"changedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Clients whose tag set actually changed so far."},"errorCode":{"nullable":true,"description":"Failure code when status is failed, otherwise null.","type":"string"},"errorMessage":{"nullable":true,"description":"Failure reason when status is failed, otherwise null.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","mode","tagIds","status","matchedCount","processedCount","changedCount","errorCode","errorMessage","createdAt","updatedAt","startedAt","completedAt"],"additionalProperties":false},"OperationClientsTagsBulkJobsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsTagsBulkJobsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetErrorDefinitionSchema0"}}]},"OperationClientsTagsBulkJobsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetErrorDefinitionSchema1"}}]},"OperationClientsTagsListInput":{"type":"object","properties":{"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}}},"OperationClientsTagsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","description":"Tag name, stored trimmed and lowercase."},"color":{"nullable":true,"description":"Tag colour, or null when the tag is uncoloured.","type":"string","enum":["neutral","success","warning","destructive"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the tag was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the tag was last updated."},"usageCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of non-archived clients that currently carry this tag."}},"required":["id","name","color","createdAt","updatedAt","usageCount"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"capabilities":{"type":"object","properties":{"canManageTags":{"type":"boolean","description":"Whether the caller may rename, recolour, merge or delete tags."}},"required":["canManageTags"],"additionalProperties":false}},"required":["items","nextCursor","capabilities"],"additionalProperties":false},"OperationClientsTagsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsTagsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsListErrorDefinitionSchema0"}}]},"OperationClientsTagsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsListErrorDefinitionSchema1"}}]},"OperationClientsTagsUpdateInput":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Tag name; trimmed and lowercased before matching an existing tag."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["name"]},"OperationClientsTagsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","description":"Tag name, stored trimmed and lowercase."},"color":{"nullable":true,"description":"Tag colour, or null when the tag is uncoloured.","type":"string","enum":["neutral","success","warning","destructive"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the tag was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the tag was last updated."}},"required":["id","name","color","createdAt","updatedAt"],"additionalProperties":false},"OperationClientsTagsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsTagsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsUpdateErrorDefinitionSchema0"}}]},"OperationClientsTagsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTagsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTagsUpdateErrorDefinitionSchema1"}}]},"OperationClientsTouchpointsGetInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client the touchpoint belongs to.","x-moreflow-reference":{"resolver":"clients.get"}},"touchpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Touchpoint to read.","x-moreflow-reference":{"resolver":"clients.touchpoints.get"}}},"required":["clientId","touchpointId"]},"OperationClientsTouchpointsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"touchpoint id","x-moreflow-reference":{"resolver":"clients.touchpoints.get"}},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"channel":{"nullable":true,"description":"Acquisition channel: google, meta or tiktok when a click id or paid utm_source proves a paid click, else the lead source (form, website, chatbot, ...). Null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported (form, website, chatbot, tiktok, ...).","type":"string"},"sourceType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"sourceId":{"type":"string","description":"Identifier of the source record (form entry, reservation, conversation) or the ad platform lead id."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the touch happened (submission, booking request, conversation start, lead creation)."},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"term":{"nullable":true,"description":"utm_term","type":"string"},"content":{"nullable":true,"description":"utm_content","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid (Google gad_campaignid folded in).","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","term","content","campaignId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform the provider ids belong to.","type":"string","enum":["google","meta","tiktok"]},"providerAccountId":{"nullable":true,"description":"Ad account (Google customer id, Meta ad account, TikTok advertiser id).","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignId":{"nullable":true,"description":"Provider campaign id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Provider campaign name.","type":"string"},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adGroupName":{"nullable":true,"description":"Provider ad group (Meta ad set) name.","type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adName":{"nullable":true,"description":"Provider ad name.","type":"string"}},"required":["provider","providerAccountId","campaignId","campaignName","adGroupId","adGroupName","adId","adName"],"additionalProperties":false,"description":"Ad platform ids and names, when the source knows them (ad leads)."},"landingPageUrl":{"nullable":true,"description":"Page the visitor converted on or landed on.","type":"string"},"referrer":{"nullable":true,"description":"Referring page.","type":"string"},"visitorId":{"nullable":true,"description":"Tracking visitor id of the browser, when captured.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the touchpoint was recorded."}},"required":["id","clientId","channel","leadSource","sourceType","sourceId","occurredAt","utm","clickIds","ad","landingPageUrl","referrer","visitorId","createdAt"],"additionalProperties":false},"OperationClientsTouchpointsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsTouchpointsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetErrorDefinitionSchema0"}}]},"OperationClientsTouchpointsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetErrorDefinitionSchema1"}}]},"OperationClientsTouchpointsListInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client whose touchpoints to list.","x-moreflow-reference":{"resolver":"clients.get"}},"order":{"default":"asc","description":"Sort by occurredAt: asc (the default, chronological journey, oldest first) or desc (newest first).","type":"string","enum":["asc","desc"]},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"description":"nextCursor of the previous page with the same order.","type":"string","minLength":1}},"required":["clientId"]},"OperationClientsTouchpointsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"touchpoint id","x-moreflow-reference":{"resolver":"clients.touchpoints.get"}},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"channel":{"nullable":true,"description":"Acquisition channel: google, meta or tiktok when a click id or paid utm_source proves a paid click, else the lead source (form, website, chatbot, ...). Null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported (form, website, chatbot, tiktok, ...).","type":"string"},"sourceType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"sourceId":{"type":"string","description":"Identifier of the source record (form entry, reservation, conversation) or the ad platform lead id."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the touch happened (submission, booking request, conversation start, lead creation)."},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"term":{"nullable":true,"description":"utm_term","type":"string"},"content":{"nullable":true,"description":"utm_content","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid (Google gad_campaignid folded in).","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","term","content","campaignId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform the provider ids belong to.","type":"string","enum":["google","meta","tiktok"]},"providerAccountId":{"nullable":true,"description":"Ad account (Google customer id, Meta ad account, TikTok advertiser id).","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignId":{"nullable":true,"description":"Provider campaign id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Provider campaign name.","type":"string"},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adGroupName":{"nullable":true,"description":"Provider ad group (Meta ad set) name.","type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adName":{"nullable":true,"description":"Provider ad name.","type":"string"}},"required":["provider","providerAccountId","campaignId","campaignName","adGroupId","adGroupName","adId","adName"],"additionalProperties":false,"description":"Ad platform ids and names, when the source knows them (ad leads)."},"landingPageUrl":{"nullable":true,"description":"Page the visitor converted on or landed on.","type":"string"},"referrer":{"nullable":true,"description":"Referring page.","type":"string"},"visitorId":{"nullable":true,"description":"Tracking visitor id of the browser, when captured.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the touchpoint was recorded."}},"required":["id","clientId","channel","leadSource","sourceType","sourceId","occurredAt","utm","clickIds","ad","landingPageUrl","referrer","visitorId","createdAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"firstTouchpoint":{"nullable":true,"description":"The client’s earliest touch (first-touch view); null without touches.","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"touchpoint id","x-moreflow-reference":{"resolver":"clients.touchpoints.get"}},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"channel":{"nullable":true,"description":"Acquisition channel: google, meta or tiktok when a click id or paid utm_source proves a paid click, else the lead source (form, website, chatbot, ...). Null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported (form, website, chatbot, tiktok, ...).","type":"string"},"sourceType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"sourceId":{"type":"string","description":"Identifier of the source record (form entry, reservation, conversation) or the ad platform lead id."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the touch happened (submission, booking request, conversation start, lead creation)."},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"term":{"nullable":true,"description":"utm_term","type":"string"},"content":{"nullable":true,"description":"utm_content","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid (Google gad_campaignid folded in).","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","term","content","campaignId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform the provider ids belong to.","type":"string","enum":["google","meta","tiktok"]},"providerAccountId":{"nullable":true,"description":"Ad account (Google customer id, Meta ad account, TikTok advertiser id).","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignId":{"nullable":true,"description":"Provider campaign id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Provider campaign name.","type":"string"},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adGroupName":{"nullable":true,"description":"Provider ad group (Meta ad set) name.","type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adName":{"nullable":true,"description":"Provider ad name.","type":"string"}},"required":["provider","providerAccountId","campaignId","campaignName","adGroupId","adGroupName","adId","adName"],"additionalProperties":false,"description":"Ad platform ids and names, when the source knows them (ad leads)."},"landingPageUrl":{"nullable":true,"description":"Page the visitor converted on or landed on.","type":"string"},"referrer":{"nullable":true,"description":"Referring page.","type":"string"},"visitorId":{"nullable":true,"description":"Tracking visitor id of the browser, when captured.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the touchpoint was recorded."}},"required":["id","clientId","channel","leadSource","sourceType","sourceId","occurredAt","utm","clickIds","ad","landingPageUrl","referrer","visitorId","createdAt"],"additionalProperties":false},"latestTouchpoint":{"nullable":true,"description":"The client’s most recent touch; a deal created now is credited to it. Null without touches.","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"touchpoint id","x-moreflow-reference":{"resolver":"clients.touchpoints.get"}},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"channel":{"nullable":true,"description":"Acquisition channel: google, meta or tiktok when a click id or paid utm_source proves a paid click, else the lead source (form, website, chatbot, ...). Null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported (form, website, chatbot, tiktok, ...).","type":"string"},"sourceType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"sourceId":{"type":"string","description":"Identifier of the source record (form entry, reservation, conversation) or the ad platform lead id."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the touch happened (submission, booking request, conversation start, lead creation)."},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"term":{"nullable":true,"description":"utm_term","type":"string"},"content":{"nullable":true,"description":"utm_content","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid (Google gad_campaignid folded in).","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","term","content","campaignId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform the provider ids belong to.","type":"string","enum":["google","meta","tiktok"]},"providerAccountId":{"nullable":true,"description":"Ad account (Google customer id, Meta ad account, TikTok advertiser id).","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignId":{"nullable":true,"description":"Provider campaign id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Provider campaign name.","type":"string"},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adGroupName":{"nullable":true,"description":"Provider ad group (Meta ad set) name.","type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adName":{"nullable":true,"description":"Provider ad name.","type":"string"}},"required":["provider","providerAccountId","campaignId","campaignName","adGroupId","adGroupName","adId","adName"],"additionalProperties":false,"description":"Ad platform ids and names, when the source knows them (ad leads)."},"landingPageUrl":{"nullable":true,"description":"Page the visitor converted on or landed on.","type":"string"},"referrer":{"nullable":true,"description":"Referring page.","type":"string"},"visitorId":{"nullable":true,"description":"Tracking visitor id of the browser, when captured.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the touchpoint was recorded."}},"required":["id","clientId","channel","leadSource","sourceType","sourceId","occurredAt","utm","clickIds","ad","landingPageUrl","referrer","visitorId","createdAt"],"additionalProperties":false}},"required":["items","nextCursor","firstTouchpoint","latestTouchpoint"],"additionalProperties":false},"OperationClientsTouchpointsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTouchpointsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsTouchpointsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsTouchpointsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTouchpointsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTouchpointsListErrorDefinitionSchema0"}}]},"OperationClientsTouchpointsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsTouchpointsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsTouchpointsListErrorDefinitionSchema1"}}]},"OperationClientsUpdateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client to update."},"ownerUserId":{"description":"Responsible account user: an active member, or null to unassign. Omit to keep the current owner.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"nullable":true,"description":"Email address used to contact this client or send notifications.","type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"firstName":{"description":"Given name of the person attached to this CRM record.","type":"string","minLength":1},"lastName":{"description":"Family name of the person attached to this CRM record.","type":"string","minLength":1},"phoneNumber":{"description":"Contact phone number in international format.","type":"string"},"company":{"nullable":true,"description":"Company or organization associated with this contact.","type":"string"},"vatId":{"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased. Omit to keep it; empty or null clears it.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string","maxLength":200},"buyerReference":{"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung. Omit to keep it; empty or null clears it.","nullable":true,"type":"string","maxLength":200},"birthDate":{"description":"Calendar birth date of the CRM client.","nullable":true,"type":"string"},"recommender":{"nullable":true,"description":"Person or referral source that introduced this CRM client.","type":"string"},"address":{"description":"Postal address of the CRM client.","nullable":true,"type":"object","properties":{"street":{"nullable":true,"type":"string"},"postal":{"nullable":true,"type":"string"},"city":{"nullable":true,"type":"string"},"state":{"nullable":true,"type":"string"},"country":{"nullable":true,"type":"string"}}},"status":{"description":"Current lifecycle or delivery status of this record.","type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up"]},"source":{"description":"Origin channel that created or imported this CRM record.","nullable":true,"type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"disqualificationReasonCode":{"description":"Reason code explaining why the client was disqualified.","nullable":true,"type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"nullable":true,"description":"Human-readable explanation for the client disqualification.","type":"string","minLength":1},"utm":{"description":"UTM campaign parameters captured with this CRM client.","type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"value":{"nullable":true,"type":"string"}},"required":["type"]}},"gadSource":{"nullable":true,"description":"Google Ads source value used to attribute this lead.","type":"string"},"privacyConsent":{"description":"Marketing email consent. true records a staff grant in the consent ledger (channel staff_manual, recorded by the calling user). On update, false withdraws it; omitted leaves it unchanged. A caller without a user cannot record it (CLIENT_CONSENT_RECORDER_REQUIRED).","type":"boolean"},"trackingConsent":{"description":"Email tracking consent (open and click tracking). Recorded like privacyConsent in the consent ledger for the email_tracking purpose and independent of privacyConsent. On update, false withdraws it; omitted leaves it unchanged.","type":"boolean"},"tagIds":{"description":"Identifiers of CRM tags assigned to this client.","type":"array","items":{"type":"string"}},"customFields":{"description":"CRM custom-field values attached to this client.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"]}},"attribution":{"description":"Marketing and source metadata attached to the client record.","type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsUpdateInputDefinitionSchema0"}},"expectedVersion":{"description":"Expected current version; prevents overwriting a concurrent edit.","type":"integer","minimum":1,"maximum":9007199254740991},"blockReason":{"description":"Reason for the client block.","type":"string","enum":["manual_review","fraud_risk","abuse","spam","payment_issue","duplicate","invalid_contact_data","other"]},"idempotencyKey":{"description":"Opaque key used to safely retry this update request.","type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId"]},"OperationClientsUpdateInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsUpdateInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsUpdateInputDefinitionSchema0"}}]},"OperationClientsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable identifier of this CRM client.","x-domain-id":"ClientId"},"ownerUserId":{"default":null,"description":"Account user responsible for this client; null when unassigned. Filter and sort by owner with clients.list.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"default":null,"description":"Email address used to contact this client or send notifications.","nullable":true,"type":"string"},"firstName":{"type":"string","description":"Given name of the person attached to this CRM record."},"lastName":{"type":"string","description":"Family name of the person attached to this CRM record."},"phoneNumber":{"default":null,"description":"Contact phone number in international format.","nullable":true,"type":"string"},"emails":{"description":"Every saved email address, primary first. `email` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"phones":{"description":"Every saved phone number, primary first. `phoneNumber` always equals the primary entry. Manage them with clients.contactPoints.create / update / delete / primary.update.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Saved email address or phone number of a client, as returned in client.emails[].id / client.phones[].id.","x-moreflow-reference":{"resolver":"clients.get"}},"value":{"type":"string","description":"The saved address: the email as entered, or the phone number in E.164 format."},"label":{"default":null,"nullable":true,"type":"string","enum":["work","private","mobile","billing","whatsapp","other"],"description":"What the address is used for: work, private, mobile, billing, or other."},"primary":{"type":"boolean","description":"Whether this is the primary address of its kind; exactly one per kind is primary."}},"required":["id","value","label","primary"],"additionalProperties":false,"description":"One saved email address or phone number of a client."}},"company":{"default":null,"description":"Company or organization associated with this contact.","nullable":true,"type":"string"},"vatId":{"default":null,"description":"Buyer VAT ID (USt-IdNr., EN 16931 BT-48) printed on invoices to this client. Stored without whitespace and upper-cased.","x-moreflow-opaque":{"reason":"Tax registration number issued by a tax authority; not a moreflow resource id."},"nullable":true,"type":"string"},"buyerReference":{"default":null,"description":"Buyer reference (EN 16931 BT-10). For German public-sector buyers this is the Leitweg-ID; when set, invoices to this client are issued as XRechnung.","nullable":true,"type":"string"},"birthDate":{"default":null,"description":"Calendar birth date of the CRM client.","nullable":true,"type":"string"},"recommender":{"default":null,"description":"Person or referral source that introduced this CRM client.","nullable":true,"type":"string"},"address":{"default":null,"nullable":true,"type":"object","properties":{"street":{"default":null,"description":"Street and house number in the contact postal address.","nullable":true,"type":"string"},"postal":{"default":null,"description":"Postal code in the contact address.","nullable":true,"type":"string"},"city":{"default":null,"description":"City in the contact postal address.","nullable":true,"type":"string"},"state":{"default":null,"description":"State or region in the contact postal address.","nullable":true,"type":"string"},"country":{"default":null,"description":"Country in the contact postal address.","nullable":true,"type":"string"}},"required":["street","postal","city","state","country"],"additionalProperties":false,"description":"Postal address of the CRM client."},"status":{"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"],"description":"Current lifecycle or delivery status of this record."},"source":{"default":null,"description":"Origin channel that created or imported this CRM record.","nullable":true,"type":"string","enum":["chatbot","close","convex_migration_derived","csv","facebook","form","google","hubspot","instagram","linkedin","monday","other","out_of_home","pipedrive","product","public_product","recommendation","tiktok","website","xlsx","xing","youtube"]},"utm":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"UTM parameter name."},"value":{"default":null,"description":"UTM parameter value.","nullable":true,"type":"string"}},"required":["type","value"],"additionalProperties":false},"description":"UTM campaign parameters captured with this CRM client."},"gadSource":{"default":null,"description":"Google Ads source value used to attribute this lead.","nullable":true,"type":"string"},"disqualificationReasonCode":{"default":null,"description":"Reason code explaining why the client was disqualified.","nullable":true,"type":"string","enum":["no_need","no_budget","bad_timing","not_decision_maker","out_of_target_group","unresponsive","invalid_contact_data","duplicate","went_with_competitor","other"]},"disqualificationReasonText":{"default":null,"description":"Human-readable explanation for the client disqualification.","nullable":true,"type":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the custom field."},"type":{"default":null,"description":"Type of the custom field.","nullable":true,"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"default":null,"description":"Value assigned to the custom field.","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"default":null,"description":"Identifier of the selected custom-field option.","nullable":true,"type":"string"}},"required":["id","type","value","valueId"],"additionalProperties":false,"description":"One custom-field value attached to this client."},"description":"CRM custom-field values attached to this client."},"tagIds":{"type":"array","items":{"type":"string","description":"Identifier of a CRM tag."},"description":"Identifiers of CRM tags assigned to this client."},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsUpdateOutputDefinitionSchema0"},"description":"Marketing and source metadata attached to the client record."},"privacyConsent":{"type":"boolean","description":"Whether the contact granted the recorded privacy consent."},"lastActivityAt":{"default":null,"description":"UTC timestamp of the most recent CRM activity.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextFollowUpAt":{"default":null,"description":"UTC timestamp of the next planned CRM follow-up.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastEngagedAt":{"description":"UTC timestamp of the latest human open or click of a campaign email. Machine opens (Apple Mail Privacy Protection) and link-scanner clicks never count. Absent when none was recorded.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"engagementStatus":{"description":"Campaign engagement status. new: no human open or click yet and not inactive (a new contact has a 90-day grace period). active: engaged and not inactive. inactive: at least 5 tracked campaign emails delivered over 90 days without a human open or click (emails opened by a mail privacy proxy do not count). sunset: still inactive 14 days after a re-engagement email, or inactive again after an earlier one (a contact gets one re-engagement email), so campaigns, sequences and automation emails skip it as inactive; transactional mail is unaffected. A new human open or click or a new marketing consent ends inactive and sunset. Filter clients and audiences by it with field engagementStatus.","type":"string","enum":["new","active","inactive","sunset"]},"unengagedCampaignCount":{"description":"Tracked campaign emails delivered since the latest human open or click or marketing consent grant.","type":"integer","minimum":0,"maximum":9007199254740991},"unengagedSince":{"description":"Send time of the first of those emails; absent when there are none.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reEngagementSentAt":{"description":"Send time of the latest re-engagement email delivered since the latest human open or click.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991,"internal":false,"description":"Current resource version used for optimistic updates."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this Moreflow record was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when this record was last updated."},"archivedAt":{"default":null,"description":"UTC timestamp when this record was archived (moved to the trash).","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"permanentDeletionAt":{"description":"UTC timestamp when this trashed (archived) client is permanently deleted, 30 days after it was moved to the trash. Present only for archived clients; restore it before then with clients.index.restoreMany.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"owner":{"default":null,"description":"Display name of the owner; present on clients.list and clients.get reads.","nullable":true,"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string"}},"required":["userId","displayName"],"additionalProperties":false},"blocked":{"type":"boolean","description":"Whether the client is blocked."},"warnings":{"default":[],"description":"Non-blocking notices; present only when there is something to report.","type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["CONTACT_POINT_PHONE_SHARED"],"description":"Another active client of the account has this phone number saved."},"message":{"type":"string","description":"Human-readable explanation of the warning."},"value":{"type":"string","description":"The shared phone number in E.164 format."},"clientIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"description":"Other active clients that have this phone number saved; open one with clients.detail."}},"required":["code","message","value","clientIds"],"additionalProperties":false,"description":"Non-blocking notice about a saved contact point."}}},"required":["id","ownerUserId","email","firstName","lastName","phoneNumber","company","vatId","buyerReference","birthDate","recommender","address","status","source","utm","gadSource","disqualificationReasonCode","disqualificationReasonText","customFields","tagIds","attribution","privacyConsent","lastActivityAt","nextFollowUpAt","version","createdAt","updatedAt","archivedAt","owner","blocked","warnings"],"additionalProperties":false,"description":"Automation effects are durable: every follow-up trigger of this mutation is written to the trigger outbox before it is delivered. A success result means each effect was delivered. When delivery fails, the operation returns a failure whose context reports that the mutation itself completed and whose details.pendingTriggerDispatches lists the queued effects to replay through automations.triggers.dispatch."},"OperationClientsUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsUpdateOutputDefinitionSchema0"}}]},"OperationClientsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CONFLICT","VALIDATION_ERROR","PROVIDER_ERROR","INVALID_STATE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationClientsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationClientsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsUpdateErrorDefinitionSchema0"}}]},"OperationClientsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationClientsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationClientsUpdateErrorDefinitionSchema1"}}]},"OperationCommunicationsConversationsDeleteInput":{"type":"object","properties":{"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["conversationId"]},"OperationCommunicationsConversationsDeleteOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientName":{"default":null,"nullable":true,"type":"string"},"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"subject":{"default":null,"nullable":true,"type":"string"},"windowExpiresAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastCustomerMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"phoneNumber":{"default":null,"nullable":true,"type":"string"},"profileName":{"default":null,"nullable":true,"type":"string"},"unreadCount":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"assignedUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"snoozedUntil":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"trashedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastMessagePreview":{"default":null,"nullable":true,"type":"string"},"lastMessageDirection":{"default":null,"nullable":true,"type":"string","enum":["inbound","outbound"]},"lastMessageStatus":{"default":null,"nullable":true,"type":"string","enum":["queued","sent","delivered","failed","read","received"]},"lastMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"windowOpen":{"default":null,"nullable":true,"type":"boolean"},"done":{"default":null,"nullable":true,"type":"boolean"},"permanentDeletionAt":{"default":null,"description":"When a binned thread and its messages are permanently deleted, 30 days after trashedAt; restore it with communications.conversations.restore before then. Null outside the bin.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","clientName","channel","subject","windowExpiresAt","lastCustomerMessageAt","phoneNumber","profileName","unreadCount","trashedAt","lastMessagePreview","lastMessageDirection","lastMessageStatus","lastMessageAt","createdAt","updatedAt","windowOpen","done","permanentDeletionAt"],"additionalProperties":false},"OperationCommunicationsConversationsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","INVALID_STATE","CONVERSATION_SUPPORT_CASE_THREAD"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsConversationsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteErrorDefinitionSchema0"}}]},"OperationCommunicationsConversationsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteErrorDefinitionSchema1"}}]},"OperationCommunicationsConversationsListInput":{"type":"object","properties":{"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app","chatbot"]},"channels":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","enum":["email","sms","whatsapp","phone","in_app","chatbot"]}},"scope":{"type":"string","enum":["chats","inbox"]},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"state":{"type":"string","enum":["unread","open","done"]},"assignee":{"anyOf":[{"type":"string","enum":["me","unassigned"]},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"assignee user id"}]},"snoozed":{"default":"exclude","type":"string","enum":["exclude","include","only"]},"trashed":{"default":"exclude","description":"Threads in the inbox bin (deleted with communications.conversations.delete) are hidden by default; include lists them too, only lists just the bin.","type":"string","enum":["exclude","include","only"]},"search":{"type":"string","minLength":1,"maxLength":100},"cursor":{"type":"string","maxLength":500},"limit":{"default":50,"type":"integer","minimum":1,"maximum":200}}},"OperationCommunicationsConversationsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientName":{"default":null,"nullable":true,"type":"string"},"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"subject":{"default":null,"nullable":true,"type":"string"},"windowExpiresAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastCustomerMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"phoneNumber":{"default":null,"nullable":true,"type":"string"},"profileName":{"default":null,"nullable":true,"type":"string"},"unreadCount":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"assignedUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"snoozedUntil":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"trashedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastMessagePreview":{"default":null,"nullable":true,"type":"string"},"lastMessageDirection":{"default":null,"nullable":true,"type":"string","enum":["inbound","outbound"]},"lastMessageStatus":{"default":null,"nullable":true,"type":"string","enum":["queued","sent","delivered","failed","read","received"]},"lastMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"windowOpen":{"default":null,"nullable":true,"type":"boolean"},"done":{"default":null,"nullable":true,"type":"boolean"},"permanentDeletionAt":{"default":null,"description":"When a binned thread and its messages are permanently deleted, 30 days after trashedAt; restore it with communications.conversations.restore before then. Null outside the bin.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","clientName","channel","subject","windowExpiresAt","lastCustomerMessageAt","phoneNumber","profileName","unreadCount","trashedAt","lastMessagePreview","lastMessageDirection","lastMessageStatus","lastMessageAt","createdAt","updatedAt","windowOpen","done","permanentDeletionAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Opaque cursor for the next page, or null on the last page.","type":"string"},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Exact number of conversations matching the filters."}},"required":["items","nextCursor","totalCount"],"additionalProperties":false},"OperationCommunicationsConversationsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AUTH_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsConversationsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListErrorDefinitionSchema0"}}]},"OperationCommunicationsConversationsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListErrorDefinitionSchema1"}}]},"OperationCommunicationsConversationsRestoreInput":{"type":"object","properties":{"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["conversationId"]},"OperationCommunicationsConversationsRestoreOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientName":{"default":null,"nullable":true,"type":"string"},"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"subject":{"default":null,"nullable":true,"type":"string"},"windowExpiresAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastCustomerMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"phoneNumber":{"default":null,"nullable":true,"type":"string"},"profileName":{"default":null,"nullable":true,"type":"string"},"unreadCount":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"assignedUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"snoozedUntil":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"trashedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastMessagePreview":{"default":null,"nullable":true,"type":"string"},"lastMessageDirection":{"default":null,"nullable":true,"type":"string","enum":["inbound","outbound"]},"lastMessageStatus":{"default":null,"nullable":true,"type":"string","enum":["queued","sent","delivered","failed","read","received"]},"lastMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"windowOpen":{"default":null,"nullable":true,"type":"boolean"},"done":{"default":null,"nullable":true,"type":"boolean"},"permanentDeletionAt":{"default":null,"description":"When a binned thread and its messages are permanently deleted, 30 days after trashedAt; restore it with communications.conversations.restore before then. Null outside the bin.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","clientName","channel","subject","windowExpiresAt","lastCustomerMessageAt","phoneNumber","profileName","unreadCount","trashedAt","lastMessagePreview","lastMessageDirection","lastMessageStatus","lastMessageAt","createdAt","updatedAt","windowOpen","done","permanentDeletionAt"],"additionalProperties":false},"OperationCommunicationsConversationsRestoreError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsConversationsRestoreErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreErrorDefinitionSchema0"}}]},"OperationCommunicationsConversationsRestoreErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreErrorDefinitionSchema1"}}]},"OperationCommunicationsConversationsUnreadCountGetInput":{"type":"object","properties":{"scope":{"type":"string","enum":["chats","inbox"]},"channels":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","enum":["email","sms","whatsapp","phone","in_app","chatbot"]}}}},"OperationCommunicationsConversationsUnreadCountGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["unreadCount"],"description":"The account unread conversation count singleton, filtered by scope and channels."},"unreadCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Unread conversations matching the scope; snoozed threads are excluded."}},"required":["id","unreadCount"],"additionalProperties":false},"OperationCommunicationsConversationsUnreadCountGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsConversationsUnreadCountGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetErrorDefinitionSchema0"}}]},"OperationCommunicationsConversationsUnreadCountGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetErrorDefinitionSchema1"}}]},"OperationCommunicationsConversationsUpdateInput":{"type":"object","properties":{"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id"},"read":{"type":"boolean"},"done":{"type":"boolean"},"status":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateInputDefinitionSchema0"}},"assignedUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"assignee user id"},"snoozedUntil":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["conversationId"]},"OperationCommunicationsConversationsUpdateInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateInputDefinitionSchema0"}}]},"OperationCommunicationsConversationsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientName":{"default":null,"nullable":true,"type":"string"},"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"subject":{"default":null,"nullable":true,"type":"string"},"windowExpiresAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastCustomerMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"phoneNumber":{"default":null,"nullable":true,"type":"string"},"profileName":{"default":null,"nullable":true,"type":"string"},"unreadCount":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"assignedUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"snoozedUntil":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"trashedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastMessagePreview":{"default":null,"nullable":true,"type":"string"},"lastMessageDirection":{"default":null,"nullable":true,"type":"string","enum":["inbound","outbound"]},"lastMessageStatus":{"default":null,"nullable":true,"type":"string","enum":["queued","sent","delivered","failed","read","received"]},"lastMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"windowOpen":{"default":null,"nullable":true,"type":"boolean"},"done":{"default":null,"nullable":true,"type":"boolean"},"permanentDeletionAt":{"default":null,"description":"When a binned thread and its messages are permanently deleted, 30 days after trashedAt; restore it with communications.conversations.restore before then. Null outside the bin.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","clientName","channel","subject","windowExpiresAt","lastCustomerMessageAt","phoneNumber","profileName","unreadCount","trashedAt","lastMessagePreview","lastMessageDirection","lastMessageStatus","lastMessageAt","createdAt","updatedAt","windowOpen","done","permanentDeletionAt"],"additionalProperties":false},"OperationCommunicationsConversationsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","DEPENDENCY_UNAVAILABLE","CONVERSATION_ASSIGNEE_NOT_MEMBER","CONVERSATION_SNOOZE_IN_PAST"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsConversationsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateErrorDefinitionSchema0"}}]},"OperationCommunicationsConversationsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateErrorDefinitionSchema1"}}]},"OperationCommunicationsEmailDraftGenerateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client whose context should inform the draft."},"prompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Instruction for the email draft."},"currentBodyText":{"description":"Existing body text to improve.","type":"string","maxLength":50000},"existingSubject":{"description":"Existing subject to improve.","type":"string","maxLength":500},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","prompt"]},"OperationCommunicationsEmailDraftGenerateOutput":{"type":"object","properties":{"bodyText":{"type":"string","minLength":1,"maxLength":50000},"suggestedSubject":{"nullable":true,"type":"string"},"id":{"type":"string","description":"Identifier of this generated draft."},"newSubject":{"type":"boolean"}},"required":["bodyText","suggestedSubject","id","newSubject"],"additionalProperties":false},"OperationCommunicationsEmailDraftGenerateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","INVALID_STATE","PROVIDER_ERROR","RATE_LIMIT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsEmailDraftGenerateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateErrorDefinitionSchema0"}}]},"OperationCommunicationsEmailDraftGenerateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateErrorDefinitionSchema1"}}]},"OperationCommunicationsMessagesGetInput":{"type":"object","properties":{"messageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId","description":"The message to read, as returned by communications.messages.list."}},"required":["messageId"]},"OperationCommunicationsMessagesGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"conversationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"direction":{"type":"string","enum":["inbound","outbound"]},"status":{"type":"string","enum":["queued","sent","delivered","failed","read","received"]},"toAddress":{"default":null,"nullable":true,"type":"string"},"fromAddress":{"default":null,"nullable":true,"type":"string"},"subject":{"default":null,"nullable":true,"type":"string"},"bodyPreview":{"default":null,"nullable":true,"type":"string"},"bodyText":{"nullable":true,"description":"The complete plain-text body, or the stored preview when bodyComplete is false.","type":"string"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"deliveredAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentBy":{"description":"The team member who sent this outbound message. Null for inbound messages, sends by automations or API keys, and senders no longer in the account.","nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"bounce":{"nullable":true,"description":"Why an outbound email failed: bounce kind, SMTP status and diagnostic text, and whether the address was suppressed or the send can be retried. Null when the failure was not classified.","type":"object","properties":{"kind":{"type":"string","enum":["permanent","transient","undetermined","rejected","rendering_failure"],"description":"permanent: the address will not accept mail (suppressed); transient: a temporary condition such as a full mailbox (not suppressed, retryable); undetermined: the provider could not tell (not suppressed); rejected: the provider refused to send the message; rendering_failure: the template could not be rendered."},"subType":{"nullable":true,"description":"Provider sub-type of the failure, e.g. MailboxFull or NoEmail.","type":"string"},"smtpStatus":{"nullable":true,"description":"Enhanced SMTP status code of the receiving server, e.g. 5.1.1. Null when the provider did not report one.","type":"string"},"diagnosticCode":{"nullable":true,"description":"Diagnostic text from the receiving server or provider. Null when none was reported.","type":"string"},"suppressed":{"type":"boolean","description":"True when this failure suppressed the address for later account-wide email."},"retryable":{"type":"boolean","description":"True when the failure is temporary and a later send to this address can succeed."}},"required":["kind","subType","smtpStatus","diagnosticCode","suppressed","retryable"],"additionalProperties":false},"inboundReply":{"nullable":true,"description":"Set for a reply received through the Moreflow reply address: its sender authentication and whether the sender matches the client. Null for every other message.","type":"object","properties":{"source":{"type":"string","enum":["ses_inbound_reply"],"description":"Where the reply was received: the Moreflow reply address."},"authentication":{"type":"string","enum":["passed","failed","unverified"],"description":"Sender authentication from the SES receipt verdicts. failed: SPF and DKIM did not pass or DMARC failed, so the sender may be spoofed. passed: SPF or DKIM passed. unverified: no SPF or DKIM verdict was reported."},"senderMatchesClient":{"type":"boolean","description":"False when the sender address is not the address of the client this conversation belongs to."}},"required":["source","authentication","senderMatchesClient"],"additionalProperties":false},"replyTriage":{"description":"Set for an inbound reply classified with reply-intent v2: whether a person must answer it and its urgency (low, normal, high). Null when unclassified or classified before v2.","nullable":true,"type":"object","properties":{"needsHumanResponse":{"type":"boolean","description":"False when the reply needs no answer from a person (thanks, automatic reply, FYI)."},"urgency":{"type":"string","enum":["low","normal","high"],"description":"low, normal or high: deadlines, complaints and cancellations are high."}},"required":["needsHumanResponse","urgency"],"additionalProperties":false},"emailTracking":{"description":"Outbound email only: untracked when this send had no open or click tracking, so it produces no opens or clicks. Null for inbound messages, other channels, and emails sent before this was recorded.","nullable":true,"type":"string","enum":["tracked","untracked"]},"forwardedFromMessageId":{"x-moreflow-reference":{"resolver":"communications.messages.get"},"description":"The stored message this email forwarded, when it was sent as a forward. Null for every other message.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"bodyHtml":{"nullable":true,"description":"The complete email as sent, as an HTML document. Sanitized: no scripts, event handlers, forms or embedded documents. Render only in a sandboxed frame.","type":"string"},"bodyComplete":{"type":"boolean","description":"False when only the shortened preview of this message was stored (emails sent before full bodies were kept)."},"attachments":{"description":"The files attached to this message, in order. Names and sizes only; forwardable says which ids can be passed to communications.messages.send as forwardedAttachmentIds.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment id. Pass it in forwardedAttachmentIds of communications.messages.send to forward this file."},"fileName":{"type":"string","description":"File name as the sender attached it."},"contentType":{"nullable":true,"description":"MIME type of the file, or null when none was recorded.","type":"string"},"size":{"nullable":true,"description":"File size in bytes, or null when none was recorded.","type":"integer","minimum":0,"maximum":9007199254740991},"forwardable":{"type":"boolean","description":"True when the file bytes are stored and can be forwarded with forwardedAttachmentIds. False when the file was too large to keep, so it is only available in the original mailbox."}},"required":["id","fileName","contentType","size","forwardable"],"additionalProperties":false}},"replyAll":{"description":"Who a reply-all to this email goes to, computed from its headers without the account own mailboxes. Null for messages that are not email.","nullable":true,"type":"object","properties":{"to":{"type":"array","items":{"type":"string"}},"cc":{"type":"array","items":{"type":"string"}}},"required":["to","cc"],"additionalProperties":false}},"required":["id","conversationId","clientId","channel","direction","status","toAddress","fromAddress","subject","bodyPreview","bodyText","sentAt","deliveredAt","failedAt","createdAt","updatedAt","bounce","inboundReply","bodyHtml","bodyComplete"],"additionalProperties":false},"OperationCommunicationsMessagesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsMessagesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetErrorDefinitionSchema0"}}]},"OperationCommunicationsMessagesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetErrorDefinitionSchema1"}}]},"OperationCommunicationsMessagesListInput":{"type":"object","properties":{"conversationId":{"description":"Optionally restrict messages to one conversation.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Optionally restrict messages to one client."},"channel":{"description":"Optionally restrict messages to one channel.","type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"direction":{"description":"Optionally restrict by message direction.","type":"string","enum":["inbound","outbound"]},"participant":{"description":"Optionally restrict to the conversations a team member took part in: those where they sent at least one message, returned with every message including the client's replies. 'me' is the calling user; 'automation' matches conversations with an outbound message no team member sent (automations, API keys).","anyOf":[{"type":"string","enum":["me","automation"]},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"participant user id"}]},"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"description":"Maximum number of messages to return.","type":"integer","minimum":1,"maximum":100}}},"OperationCommunicationsMessagesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"conversationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"direction":{"type":"string","enum":["inbound","outbound"]},"status":{"type":"string","enum":["queued","sent","delivered","failed","read","received"]},"toAddress":{"default":null,"nullable":true,"type":"string"},"fromAddress":{"default":null,"nullable":true,"type":"string"},"subject":{"default":null,"nullable":true,"type":"string"},"bodyPreview":{"default":null,"nullable":true,"type":"string"},"bodyText":{"default":null,"nullable":true,"type":"string"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"deliveredAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentBy":{"description":"The team member who sent this outbound message. Null for inbound messages, sends by automations or API keys, and senders no longer in the account.","nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"bounce":{"nullable":true,"description":"Why an outbound email failed: bounce kind, SMTP status and diagnostic text, and whether the address was suppressed or the send can be retried. Null when the failure was not classified.","type":"object","properties":{"kind":{"type":"string","enum":["permanent","transient","undetermined","rejected","rendering_failure"],"description":"permanent: the address will not accept mail (suppressed); transient: a temporary condition such as a full mailbox (not suppressed, retryable); undetermined: the provider could not tell (not suppressed); rejected: the provider refused to send the message; rendering_failure: the template could not be rendered."},"subType":{"nullable":true,"description":"Provider sub-type of the failure, e.g. MailboxFull or NoEmail.","type":"string"},"smtpStatus":{"nullable":true,"description":"Enhanced SMTP status code of the receiving server, e.g. 5.1.1. Null when the provider did not report one.","type":"string"},"diagnosticCode":{"nullable":true,"description":"Diagnostic text from the receiving server or provider. Null when none was reported.","type":"string"},"suppressed":{"type":"boolean","description":"True when this failure suppressed the address for later account-wide email."},"retryable":{"type":"boolean","description":"True when the failure is temporary and a later send to this address can succeed."}},"required":["kind","subType","smtpStatus","diagnosticCode","suppressed","retryable"],"additionalProperties":false},"inboundReply":{"nullable":true,"description":"Set for a reply received through the Moreflow reply address: its sender authentication and whether the sender matches the client. Null for every other message.","type":"object","properties":{"source":{"type":"string","enum":["ses_inbound_reply"],"description":"Where the reply was received: the Moreflow reply address."},"authentication":{"type":"string","enum":["passed","failed","unverified"],"description":"Sender authentication from the SES receipt verdicts. failed: SPF and DKIM did not pass or DMARC failed, so the sender may be spoofed. passed: SPF or DKIM passed. unverified: no SPF or DKIM verdict was reported."},"senderMatchesClient":{"type":"boolean","description":"False when the sender address is not the address of the client this conversation belongs to."}},"required":["source","authentication","senderMatchesClient"],"additionalProperties":false},"replyTriage":{"description":"Set for an inbound reply classified with reply-intent v2: whether a person must answer it and its urgency (low, normal, high). Null when unclassified or classified before v2.","nullable":true,"type":"object","properties":{"needsHumanResponse":{"type":"boolean","description":"False when the reply needs no answer from a person (thanks, automatic reply, FYI)."},"urgency":{"type":"string","enum":["low","normal","high"],"description":"low, normal or high: deadlines, complaints and cancellations are high."}},"required":["needsHumanResponse","urgency"],"additionalProperties":false},"emailTracking":{"description":"Outbound email only: untracked when this send had no open or click tracking, so it produces no opens or clicks. Null for inbound messages, other channels, and emails sent before this was recorded.","nullable":true,"type":"string","enum":["tracked","untracked"]},"forwardedFromMessageId":{"x-moreflow-reference":{"resolver":"communications.messages.get"},"description":"The stored message this email forwarded, when it was sent as a forward. Null for every other message.","nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"}},"required":["id","conversationId","clientId","channel","direction","status","toAddress","fromAddress","subject","bodyPreview","bodyText","sentAt","deliveredAt","failedAt","createdAt","updatedAt","bounce","inboundReply"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationCommunicationsMessagesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR","AUTH_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsMessagesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListErrorDefinitionSchema0"}}]},"OperationCommunicationsMessagesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListErrorDefinitionSchema1"}}]},"OperationCommunicationsMessagesScheduleInput":{"type":"object","properties":{"replyToMessageId":{"x-moreflow-reference":{"resolver":"communications.messages.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"senderPhoneNumberId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"sender phone number id"},"senderDomainId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"sending domain id"},"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"toAddress":{"anyOf":[{"type":"string","minLength":1},{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}]},"cc":{"anyOf":[{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"minItems":1,"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}}]},"bcc":{"anyOf":[{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"minItems":1,"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}}]},"fromAddress":{"type":"string"},"subject":{"type":"string"},"bodyHtml":{"type":"string"},"bodyText":{"type":"string"},"bodyPreview":{"type":"string"},"emailComponents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"props":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleInputDefinitionSchema0"}}},"required":["type"]}},"emailTemplateId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"EmailTemplateId"},"attachments":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":255},"content":{"type":"string","minLength":1,"maxLength":13981018,"pattern":"^[A-Za-z0-9+/]*={0,2}$"},"contentType":{"type":"string","minLength":1,"maxLength":255}},"required":["filename","content"]}},"flowAttachment":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":255},"content":{"type":"string","minLength":1,"maxLength":13981018,"pattern":"^[A-Za-z0-9+/]*={0,2}$"},"contentType":{"type":"string","minLength":1,"maxLength":255}},"required":["filename","content"]},"flowArtifactAttachments":{"minItems":1,"maxItems":20,"type":"array","items":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["flow_artifact"]},"artifactId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"FlowArtifactId"},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"FlowRunId"},"fileName":{"type":"string","minLength":1,"maxLength":255}},"required":["source","artifactId","runId"]},{"type":"object","properties":{"source":{"type":"string","enum":["storage_object"]},"storageObjectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"storage object id"},"fileName":{"type":"string","minLength":1,"maxLength":255}},"required":["source","storageObjectId"]}]}},"forwardedFromMessageId":{"x-moreflow-reference":{"resolver":"communications.messages.get"},"description":"Email message being forwarded, in this account. Recorded on the new message so the timeline shows where it came from.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"forwardedAttachmentIds":{"x-moreflow-opaque":{"reason":"Attachment ids of the forwarded message; communications.messages.get lists them with their forwardable flag."},"description":"Attachment ids of forwardedFromMessageId to include, taken from communications.messages.get. Requires forwardedFromMessageId; each id must be a forwardable attachment of that message.","minItems":1,"maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"disableTracking":{"description":"Set true to send without open and click tracking, even where the account policy or the recipient consent would track it. Opens and link clicks are then not measured, and the stored message records tracking as untracked with basis sender_opt_out. It never turns tracking on.","type":"boolean"},"providerMessageId":{"type":"string"},"providerEventId":{"type":"string"},"providerCostEuro":{"type":"number","minimum":0},"template":{"type":"object","properties":{"templateId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":2,"maxLength":20},"variables":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":1024}}}},"idempotencyKey":{"type":"string","minLength":1},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleInputDefinitionSchema0"}},"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When to send: an RFC 3339 instant (any offset) at least 60 seconds and at most 90 days ahead."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["channel","idempotencyKey","scheduledAt"]},"OperationCommunicationsMessagesScheduleInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleInputDefinitionSchema0"}}]},"OperationCommunicationsMessagesScheduleOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scheduled message id","x-moreflow-reference":{"resolver":"communications.messages.scheduled.get"}},"channel":{"type":"string","enum":["email","sms","whatsapp"]},"status":{"type":"string","enum":["scheduled","sending","sent","failed","cancelled"],"description":"scheduled: waiting for scheduledAt (editable and cancellable). sending: the dispatch job is sending it. sent: delivered to the send path; messageId names the message. failed: the send was refused at the scheduled time; failure says why and what to do. cancelled: will never be sent."},"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"conversationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authorUserId":{"nullable":true,"description":"The member who scheduled the message; the send runs as this member.","x-moreflow-reference":{"resolver":"users.memberships.get"},"type":"string"},"toAddress":{"nullable":true,"type":"string"},"subject":{"nullable":true,"type":"string"},"bodyPreview":{"nullable":true,"type":"string"},"bodyText":{"nullable":true,"description":"The plain text body as scheduled, when the message has one.","type":"string"},"templateName":{"nullable":true,"description":"The WhatsApp template the message uses, when it uses one.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextAttemptAt":{"nullable":true,"description":"When a retryable failure is tried again.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"messageId":{"nullable":true,"x-moreflow-reference":{"resolver":"communications.messages.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"failure":{"nullable":true,"type":"object","properties":{"code":{"type":"string","description":"The error code the send returned at the scheduled time."},"message":{"type":"string"},"reason":{"nullable":true,"type":"string"},"recovery":{"nullable":true,"description":"What to do instead, as the send operation suggested it.","type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false}},"required":["code","message","reason","recovery"],"additionalProperties":false},"sentAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancelledAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canEdit":{"type":"boolean","description":"The caller may change the time of this message now."},"canEditContent":{"type":"boolean","description":"The caller may change subject and body now; false for template, component or forwarded messages."},"canCancel":{"type":"boolean","description":"The caller may cancel this message now."}},"required":["id","channel","status","scheduledAt","clientId","conversationId","authorUserId","toAddress","subject","bodyPreview","bodyText","templateName","attemptCount","nextAttemptAt","messageId","failure","sentAt","failedAt","cancelledAt","createdAt","updatedAt","canEdit","canEditContent","canCancel"],"additionalProperties":false},"OperationCommunicationsMessagesScheduleOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleOutputDefinitionSchema0"}}]},"OperationCommunicationsMessagesScheduleError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["FORBIDDEN","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CLIENT_BLOCKED","VALIDATION_ERROR","INVALID_STATE","AUTH_ERROR","DEPENDENCY_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsMessagesScheduleErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleErrorDefinitionSchema0"}}]},"OperationCommunicationsMessagesScheduleErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleErrorDefinitionSchema1"}}]},"OperationCommunicationsMessagesScheduledCancelInput":{"type":"object","properties":{"scheduledMessageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scheduled message id","x-moreflow-reference":{"resolver":"communications.messages.scheduled.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["scheduledMessageId"]},"OperationCommunicationsMessagesScheduledCancelOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scheduled message id","x-moreflow-reference":{"resolver":"communications.messages.scheduled.get"}},"channel":{"type":"string","enum":["email","sms","whatsapp"]},"status":{"type":"string","enum":["scheduled","sending","sent","failed","cancelled"],"description":"scheduled: waiting for scheduledAt (editable and cancellable). sending: the dispatch job is sending it. sent: delivered to the send path; messageId names the message. failed: the send was refused at the scheduled time; failure says why and what to do. cancelled: will never be sent."},"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"conversationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authorUserId":{"nullable":true,"description":"The member who scheduled the message; the send runs as this member.","x-moreflow-reference":{"resolver":"users.memberships.get"},"type":"string"},"toAddress":{"nullable":true,"type":"string"},"subject":{"nullable":true,"type":"string"},"bodyPreview":{"nullable":true,"type":"string"},"bodyText":{"nullable":true,"description":"The plain text body as scheduled, when the message has one.","type":"string"},"templateName":{"nullable":true,"description":"The WhatsApp template the message uses, when it uses one.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextAttemptAt":{"nullable":true,"description":"When a retryable failure is tried again.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"messageId":{"nullable":true,"x-moreflow-reference":{"resolver":"communications.messages.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"failure":{"nullable":true,"type":"object","properties":{"code":{"type":"string","description":"The error code the send returned at the scheduled time."},"message":{"type":"string"},"reason":{"nullable":true,"type":"string"},"recovery":{"nullable":true,"description":"What to do instead, as the send operation suggested it.","type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false}},"required":["code","message","reason","recovery"],"additionalProperties":false},"sentAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancelledAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canEdit":{"type":"boolean","description":"The caller may change the time of this message now."},"canEditContent":{"type":"boolean","description":"The caller may change subject and body now; false for template, component or forwarded messages."},"canCancel":{"type":"boolean","description":"The caller may cancel this message now."}},"required":["id","channel","status","scheduledAt","clientId","conversationId","authorUserId","toAddress","subject","bodyPreview","bodyText","templateName","attemptCount","nextAttemptAt","messageId","failure","sentAt","failedAt","cancelledAt","createdAt","updatedAt","canEdit","canEditContent","canCancel"],"additionalProperties":false},"OperationCommunicationsMessagesScheduledCancelOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelOutputDefinitionSchema0"}}]},"OperationCommunicationsMessagesScheduledCancelError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","FORBIDDEN","INVALID_STATE","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsMessagesScheduledCancelErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelErrorDefinitionSchema0"}}]},"OperationCommunicationsMessagesScheduledCancelErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelErrorDefinitionSchema1"}}]},"OperationCommunicationsMessagesScheduledGetInput":{"type":"object","properties":{"scheduledMessageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scheduled message id","x-moreflow-reference":{"resolver":"communications.messages.scheduled.get"}}},"required":["scheduledMessageId"]},"OperationCommunicationsMessagesScheduledGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scheduled message id","x-moreflow-reference":{"resolver":"communications.messages.scheduled.get"}},"channel":{"type":"string","enum":["email","sms","whatsapp"]},"status":{"type":"string","enum":["scheduled","sending","sent","failed","cancelled"],"description":"scheduled: waiting for scheduledAt (editable and cancellable). sending: the dispatch job is sending it. sent: delivered to the send path; messageId names the message. failed: the send was refused at the scheduled time; failure says why and what to do. cancelled: will never be sent."},"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"conversationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authorUserId":{"nullable":true,"description":"The member who scheduled the message; the send runs as this member.","x-moreflow-reference":{"resolver":"users.memberships.get"},"type":"string"},"toAddress":{"nullable":true,"type":"string"},"subject":{"nullable":true,"type":"string"},"bodyPreview":{"nullable":true,"type":"string"},"bodyText":{"nullable":true,"description":"The plain text body as scheduled, when the message has one.","type":"string"},"templateName":{"nullable":true,"description":"The WhatsApp template the message uses, when it uses one.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextAttemptAt":{"nullable":true,"description":"When a retryable failure is tried again.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"messageId":{"nullable":true,"x-moreflow-reference":{"resolver":"communications.messages.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"failure":{"nullable":true,"type":"object","properties":{"code":{"type":"string","description":"The error code the send returned at the scheduled time."},"message":{"type":"string"},"reason":{"nullable":true,"type":"string"},"recovery":{"nullable":true,"description":"What to do instead, as the send operation suggested it.","type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false}},"required":["code","message","reason","recovery"],"additionalProperties":false},"sentAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancelledAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canEdit":{"type":"boolean","description":"The caller may change the time of this message now."},"canEditContent":{"type":"boolean","description":"The caller may change subject and body now; false for template, component or forwarded messages."},"canCancel":{"type":"boolean","description":"The caller may cancel this message now."}},"required":["id","channel","status","scheduledAt","clientId","conversationId","authorUserId","toAddress","subject","bodyPreview","bodyText","templateName","attemptCount","nextAttemptAt","messageId","failure","sentAt","failedAt","cancelledAt","createdAt","updatedAt","canEdit","canEditContent","canCancel"],"additionalProperties":false},"OperationCommunicationsMessagesScheduledGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetOutputDefinitionSchema0"}}]},"OperationCommunicationsMessagesScheduledGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsMessagesScheduledGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetErrorDefinitionSchema0"}}]},"OperationCommunicationsMessagesScheduledGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetErrorDefinitionSchema1"}}]},"OperationCommunicationsMessagesScheduledListInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"description":"Statuses to include; defaults to scheduled, sending and failed (what still needs attention).","minItems":1,"type":"array","items":{"type":"string","enum":["scheduled","sending","sent","failed","cancelled"]}},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationCommunicationsMessagesScheduledListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scheduled message id","x-moreflow-reference":{"resolver":"communications.messages.scheduled.get"}},"channel":{"type":"string","enum":["email","sms","whatsapp"]},"status":{"type":"string","enum":["scheduled","sending","sent","failed","cancelled"],"description":"scheduled: waiting for scheduledAt (editable and cancellable). sending: the dispatch job is sending it. sent: delivered to the send path; messageId names the message. failed: the send was refused at the scheduled time; failure says why and what to do. cancelled: will never be sent."},"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"conversationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authorUserId":{"nullable":true,"description":"The member who scheduled the message; the send runs as this member.","x-moreflow-reference":{"resolver":"users.memberships.get"},"type":"string"},"toAddress":{"nullable":true,"type":"string"},"subject":{"nullable":true,"type":"string"},"bodyPreview":{"nullable":true,"type":"string"},"bodyText":{"nullable":true,"description":"The plain text body as scheduled, when the message has one.","type":"string"},"templateName":{"nullable":true,"description":"The WhatsApp template the message uses, when it uses one.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextAttemptAt":{"nullable":true,"description":"When a retryable failure is tried again.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"messageId":{"nullable":true,"x-moreflow-reference":{"resolver":"communications.messages.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"failure":{"nullable":true,"type":"object","properties":{"code":{"type":"string","description":"The error code the send returned at the scheduled time."},"message":{"type":"string"},"reason":{"nullable":true,"type":"string"},"recovery":{"nullable":true,"description":"What to do instead, as the send operation suggested it.","type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false}},"required":["code","message","reason","recovery"],"additionalProperties":false},"sentAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancelledAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canEdit":{"type":"boolean","description":"The caller may change the time of this message now."},"canEditContent":{"type":"boolean","description":"The caller may change subject and body now; false for template, component or forwarded messages."},"canCancel":{"type":"boolean","description":"The caller may cancel this message now."}},"required":["id","channel","status","scheduledAt","clientId","conversationId","authorUserId","toAddress","subject","bodyPreview","bodyText","templateName","attemptCount","nextAttemptAt","messageId","failure","sentAt","failedAt","cancelledAt","createdAt","updatedAt","canEdit","canEditContent","canCancel"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationCommunicationsMessagesScheduledListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListOutputDefinitionSchema0"}}]},"OperationCommunicationsMessagesScheduledListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsMessagesScheduledListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListErrorDefinitionSchema0"}}]},"OperationCommunicationsMessagesScheduledListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListErrorDefinitionSchema1"}}]},"OperationCommunicationsMessagesScheduledUpdateInput":{"type":"object","properties":{"scheduledMessageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scheduled message id","x-moreflow-reference":{"resolver":"communications.messages.scheduled.get"}},"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When to send: an RFC 3339 instant (any offset) at least 60 seconds and at most 90 days ahead."},"subject":{"description":"Email only.","type":"string","minLength":1,"maxLength":998},"bodyText":{"type":"string","minLength":1},"bodyHtml":{"description":"Email only; replaces the HTML body.","type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["scheduledMessageId"]},"OperationCommunicationsMessagesScheduledUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scheduled message id","x-moreflow-reference":{"resolver":"communications.messages.scheduled.get"}},"channel":{"type":"string","enum":["email","sms","whatsapp"]},"status":{"type":"string","enum":["scheduled","sending","sent","failed","cancelled"],"description":"scheduled: waiting for scheduledAt (editable and cancellable). sending: the dispatch job is sending it. sent: delivered to the send path; messageId names the message. failed: the send was refused at the scheduled time; failure says why and what to do. cancelled: will never be sent."},"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"conversationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authorUserId":{"nullable":true,"description":"The member who scheduled the message; the send runs as this member.","x-moreflow-reference":{"resolver":"users.memberships.get"},"type":"string"},"toAddress":{"nullable":true,"type":"string"},"subject":{"nullable":true,"type":"string"},"bodyPreview":{"nullable":true,"type":"string"},"bodyText":{"nullable":true,"description":"The plain text body as scheduled, when the message has one.","type":"string"},"templateName":{"nullable":true,"description":"The WhatsApp template the message uses, when it uses one.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextAttemptAt":{"nullable":true,"description":"When a retryable failure is tried again.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"messageId":{"nullable":true,"x-moreflow-reference":{"resolver":"communications.messages.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"failure":{"nullable":true,"type":"object","properties":{"code":{"type":"string","description":"The error code the send returned at the scheduled time."},"message":{"type":"string"},"reason":{"nullable":true,"type":"string"},"recovery":{"nullable":true,"description":"What to do instead, as the send operation suggested it.","type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false}},"required":["code","message","reason","recovery"],"additionalProperties":false},"sentAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancelledAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canEdit":{"type":"boolean","description":"The caller may change the time of this message now."},"canEditContent":{"type":"boolean","description":"The caller may change subject and body now; false for template, component or forwarded messages."},"canCancel":{"type":"boolean","description":"The caller may cancel this message now."}},"required":["id","channel","status","scheduledAt","clientId","conversationId","authorUserId","toAddress","subject","bodyPreview","bodyText","templateName","attemptCount","nextAttemptAt","messageId","failure","sentAt","failedAt","cancelledAt","createdAt","updatedAt","canEdit","canEditContent","canCancel"],"additionalProperties":false},"OperationCommunicationsMessagesScheduledUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateOutputDefinitionSchema0"}}]},"OperationCommunicationsMessagesScheduledUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","FORBIDDEN","INVALID_STATE","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsMessagesScheduledUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateErrorDefinitionSchema0"}}]},"OperationCommunicationsMessagesScheduledUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateErrorDefinitionSchema1"}}]},"OperationCommunicationsMessagesSendInput":{"type":"object","properties":{"replyToMessageId":{"x-moreflow-reference":{"resolver":"communications.messages.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"senderPhoneNumberId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"sender phone number id"},"senderDomainId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"sending domain id"},"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"toAddress":{"anyOf":[{"type":"string","minLength":1},{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}]},"cc":{"anyOf":[{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"minItems":1,"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}}]},"bcc":{"anyOf":[{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"minItems":1,"type":"array","items":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}}]},"fromAddress":{"type":"string"},"subject":{"type":"string"},"bodyHtml":{"type":"string"},"bodyText":{"type":"string"},"bodyPreview":{"type":"string"},"emailComponents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"props":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendInputDefinitionSchema0"}}},"required":["type"]}},"emailTemplateId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"EmailTemplateId"},"attachments":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":255},"content":{"type":"string","minLength":1,"maxLength":13981018,"pattern":"^[A-Za-z0-9+/]*={0,2}$"},"contentType":{"type":"string","minLength":1,"maxLength":255}},"required":["filename","content"]}},"flowAttachment":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":255},"content":{"type":"string","minLength":1,"maxLength":13981018,"pattern":"^[A-Za-z0-9+/]*={0,2}$"},"contentType":{"type":"string","minLength":1,"maxLength":255}},"required":["filename","content"]},"flowArtifactAttachments":{"minItems":1,"maxItems":20,"type":"array","items":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["flow_artifact"]},"artifactId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"FlowArtifactId"},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"FlowRunId"},"fileName":{"type":"string","minLength":1,"maxLength":255}},"required":["source","artifactId","runId"]},{"type":"object","properties":{"source":{"type":"string","enum":["storage_object"]},"storageObjectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"storage object id"},"fileName":{"type":"string","minLength":1,"maxLength":255}},"required":["source","storageObjectId"]}]}},"forwardedFromMessageId":{"x-moreflow-reference":{"resolver":"communications.messages.get"},"description":"Email message being forwarded, in this account. Recorded on the new message so the timeline shows where it came from.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"forwardedAttachmentIds":{"x-moreflow-opaque":{"reason":"Attachment ids of the forwarded message; communications.messages.get lists them with their forwardable flag."},"description":"Attachment ids of forwardedFromMessageId to include, taken from communications.messages.get. Requires forwardedFromMessageId; each id must be a forwardable attachment of that message.","minItems":1,"maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"disableTracking":{"description":"Set true to send without open and click tracking, even where the account policy or the recipient consent would track it. Opens and link clicks are then not measured, and the stored message records tracking as untracked with basis sender_opt_out. It never turns tracking on.","type":"boolean"},"providerMessageId":{"type":"string"},"providerEventId":{"type":"string"},"providerCostEuro":{"type":"number","minimum":0},"template":{"type":"object","properties":{"templateId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":2,"maxLength":20},"variables":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":1024}}}},"idempotencyKey":{"type":"string","minLength":1},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendInputDefinitionSchema0"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["channel","idempotencyKey"]},"OperationCommunicationsMessagesSendInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendInputDefinitionSchema0"}}]},"OperationCommunicationsMessagesSendOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"conversationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"direction":{"type":"string","enum":["inbound","outbound"]},"status":{"type":"string","enum":["queued","sent","delivered","failed","read","received"]},"toAddress":{"default":null,"nullable":true,"type":"string"},"fromAddress":{"default":null,"nullable":true,"type":"string"},"subject":{"default":null,"nullable":true,"type":"string"},"bodyPreview":{"default":null,"nullable":true,"type":"string"},"bodyText":{"default":null,"nullable":true,"type":"string"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"deliveredAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"conversation":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientName":{"default":null,"nullable":true,"type":"string"},"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"subject":{"default":null,"nullable":true,"type":"string"},"windowExpiresAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastCustomerMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"phoneNumber":{"default":null,"nullable":true,"type":"string"},"profileName":{"default":null,"nullable":true,"type":"string"},"unreadCount":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"assignedUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"snoozedUntil":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"trashedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastMessagePreview":{"default":null,"nullable":true,"type":"string"},"lastMessageDirection":{"default":null,"nullable":true,"type":"string","enum":["inbound","outbound"]},"lastMessageStatus":{"default":null,"nullable":true,"type":"string","enum":["queued","sent","delivered","failed","read","received"]},"lastMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"windowOpen":{"default":null,"nullable":true,"type":"boolean"},"done":{"default":null,"nullable":true,"type":"boolean"},"permanentDeletionAt":{"default":null,"description":"When a binned thread and its messages are permanently deleted, 30 days after trashedAt; restore it with communications.conversations.restore before then. Null outside the bin.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","clientName","channel","subject","windowExpiresAt","lastCustomerMessageAt","phoneNumber","profileName","unreadCount","trashedAt","lastMessagePreview","lastMessageDirection","lastMessageStatus","lastMessageAt","createdAt","updatedAt","windowOpen","done","permanentDeletionAt"],"additionalProperties":false}},"required":["id","conversationId","clientId","channel","direction","status","toAddress","fromAddress","subject","bodyPreview","bodyText","sentAt","deliveredAt","failedAt","createdAt","updatedAt","conversation"],"additionalProperties":false},"OperationCommunicationsMessagesSendError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_IN_PROGRESS","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","INVALID_STATE","DEPENDENCY_UNAVAILABLE","CLIENT_BLOCKED","POLICY_DENIED","FLOW_ATTACHMENT_RESOLVER_UNAVAILABLE","FLOW_ATTACHMENT_INVALID","PROVIDER_ERROR","IDEMPOTENCY_CONFLICT","CONFLICT","UPGRADE_REQUIRED","OUTBOUND_GOVERNOR_BLOCKED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsMessagesSendErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendErrorDefinitionSchema0"}}]},"OperationCommunicationsMessagesSendErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendErrorDefinitionSchema1"}}]},"OperationCommunicationsTemplatesRenderedGetInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"templateId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"text":{"type":"string"},"subject":{"type":"string"}},"required":["clientId"]},"OperationCommunicationsTemplatesRenderedGetOutput":{"type":"object","properties":{"id":{"type":"string","description":"The templateId that was rendered, or \"text\" for raw text input."},"text":{"type":"string"},"subject":{"type":"string"},"missingPlaceholders":{"type":"array","items":{"type":"string","enum":["firstName","lastName","fullName","company","email","accountName","senderName","bookingLink"]}},"unknownPlaceholders":{"type":"array","items":{"type":"string"}}},"required":["id","text","missingPlaceholders","unknownPlaceholders"],"additionalProperties":false},"OperationCommunicationsTemplatesRenderedGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","INVALID_STATE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsTemplatesRenderedGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetErrorDefinitionSchema0"}}]},"OperationCommunicationsTemplatesRenderedGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetErrorDefinitionSchema1"}}]},"OperationCommunicationsWhatsappClientThreadGetInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client whose WhatsApp conversation should be loaded."},"phoneNumberId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Optional WhatsApp sender phone number to select."},"cursor":{"type":"string","minLength":1},"limit":{"default":25,"description":"Maximum number of messages to return.","type":"integer","minimum":1,"maximum":100}},"required":["clientId"]},"OperationCommunicationsWhatsappClientThreadGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"direction":{"type":"string","enum":["inbound","outbound"]},"messageType":{"type":"string","enum":["text","image","video","audio","document","template","sticker","location","reaction"]},"textBody":{"default":null,"nullable":true,"type":"string"},"caption":{"default":null,"nullable":true,"type":"string"},"status":{"type":"string","enum":["pending","sent","delivered","read","failed"]},"sentAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentBy":{"description":"The team member who sent this outbound message. Null for inbound messages, sends by automations or API keys, and senders no longer in the account.","nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"templateName":{"default":null,"nullable":true,"type":"string"},"mediaMimeType":{"default":null,"nullable":true,"type":"string"},"mediaFileName":{"default":null,"nullable":true,"type":"string"}},"required":["id","direction","messageType","textBody","caption","status","sentAt","templateName","mediaMimeType","mediaFileName"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"conversation":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientName":{"default":null,"nullable":true,"type":"string"},"channel":{"type":"string","enum":["email","sms","whatsapp","phone","in_app"]},"subject":{"default":null,"nullable":true,"type":"string"},"windowExpiresAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastCustomerMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"phoneNumber":{"default":null,"nullable":true,"type":"string"},"profileName":{"default":null,"nullable":true,"type":"string"},"unreadCount":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"assignedUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"snoozedUntil":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"trashedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastMessagePreview":{"default":null,"nullable":true,"type":"string"},"lastMessageDirection":{"default":null,"nullable":true,"type":"string","enum":["inbound","outbound"]},"lastMessageStatus":{"default":null,"nullable":true,"type":"string","enum":["queued","sent","delivered","failed","read","received"]},"lastMessageAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"windowOpen":{"default":null,"nullable":true,"type":"boolean"},"done":{"default":null,"nullable":true,"type":"boolean"},"permanentDeletionAt":{"default":null,"description":"When a binned thread and its messages are permanently deleted, 30 days after trashedAt; restore it with communications.conversations.restore before then. Null outside the bin.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","clientName","channel","subject","windowExpiresAt","lastCustomerMessageAt","phoneNumber","profileName","unreadCount","trashedAt","lastMessagePreview","lastMessageDirection","lastMessageStatus","lastMessageAt","createdAt","updatedAt","windowOpen","done","permanentDeletionAt"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canSaveMediaToFiles":{"type":"boolean"}},"required":["canSaveMediaToFiles"],"additionalProperties":false},"calling":{"description":"Outbound call capability for this client and number, from stored state (no Meta call); null when no number is known.","nullable":true,"type":"object","properties":{"waId":{"nullable":true,"description":"WhatsApp id (digits, no plus sign) of the client, or null when the client has no WhatsApp number.","x-moreflow-opaque":{"reason":"The client's WhatsApp number in Meta wa_id form, a phone number rather than a Moreflow handle; resolve the client through clientId."},"type":"string"},"canCall":{"type":"boolean","description":"True when a business-initiated call may start now."},"canRequestPermission":{"type":"boolean","description":"True when a call_permission_request may be sent now."},"blockReason":{"nullable":true,"description":"The first rule that blocks a call; null when canCall is true.","type":"string","enum":["WHATSAPP_NOT_CONNECTED","CALLING_NOT_ENABLED","ELIGIBILITY_MISSING","MESSAGING_LIMIT_TOO_LOW","NOT_A_WHATSAPP_NUMBER","COUNTRY_NOT_SUPPORTED","WHATSAPP_CALL_PERMISSION_REQUIRED","PERMISSION_REQUEST_LIMIT_REACHED","PERMISSION_TEMPLATE_MISSING","DAILY_CALL_LIMIT_REACHED","WHATSAPP_CALL_ACTIVE","WHATSAPP_CALL_ALREADY_ANSWERED","WHATSAPP_CALL_NOT_ACTIVE","WHATSAPP_RECORDING_NOT_ALLOWED","WHATSAPP_RECORDING_PURPOSE_REQUIRED","WHATSAPP_RECORDING_PURPOSE_TOO_LONG","WHATSAPP_RECORDING_ANNOUNCEMENT_LANGUAGE_REQUIRED"]},"nextAllowedAt":{"nullable":true,"description":"When a time-based block (PERMISSION_REQUEST_LIMIT_REACHED, DAILY_CALL_LIMIT_REACHED) lifts; otherwise null.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"warnings":{"type":"array","items":{"type":"string","enum":["unanswered_calls_reconsider","next_unanswered_call_revokes_permission"]},"description":"unanswered_calls_reconsider after 2 unanswered calls; next_unanswered_call_revokes_permission before the 4th revokes."},"permission":{"type":"object","properties":{"status":{"type":"string","enum":["no_permission","temporary","permanent"]},"expiresAt":{"nullable":true,"description":"Expiry of a temporary permission; null otherwise.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"grantedBy":{"nullable":true,"description":"client_call when the client called us (callback window), permission_request when they allowed our request, null when no permission is active or unknown.","type":"string","enum":["client_call","permission_request"]}},"required":["status","expiresAt","grantedBy"],"additionalProperties":false},"callsRemaining24h":{"nullable":true,"description":"Connected business-initiated calls Meta still allows in 24 hours; null when Meta was not read.","type":"integer","minimum":0,"maximum":9007199254740991},"recovery":{"nullable":true,"type":"object","properties":{"operation":{"type":"string","description":"Operation id that resolves the block."},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetOutputDefinitionSchema0"}}},"required":["operation"],"additionalProperties":false,"description":"The next operation to call, with the arguments it needs."}},"required":["waId","canCall","canRequestPermission","blockReason","nextAllowedAt","warnings","permission","callsRemaining24h","recovery"],"additionalProperties":false}},"required":["id","clientId","messages","nextCursor","conversation","capabilities"],"additionalProperties":false},"OperationCommunicationsWhatsappClientThreadGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetOutputDefinitionSchema0"}}]},"OperationCommunicationsWhatsappClientThreadGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCommunicationsWhatsappClientThreadGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetErrorDefinitionSchema0"}}]},"OperationCommunicationsWhatsappClientThreadGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetErrorDefinitionSchema1"}}]},"OperationContractsCreateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"templateId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"productId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string","minLength":1},"body":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsCreateInputDefinitionSchema0"}},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsCreateInputDefinitionSchema0"}}},"lineItems":{"description":"Typed contract lines, each priced from a product in the contract currency. Totals are derived from the lines; omit totalNetCents and totalGrossCents, or pass values that match. Mutually exclusive with items.","minItems":1,"type":"array","items":{"type":"object","properties":{"productId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"product id"},"quantity":{"default":1,"description":"Units of the product. One when omitted.","type":"integer","minimum":1,"maximum":9007199254740991},"label":{"description":"Line label. Defaults to the product name.","type":"string","minLength":1,"maxLength":500},"description":{"description":"Line description. Defaults to the product description.","type":"string","maxLength":2000},"unitNetCents":{"description":"Net price per unit in cents. When unitGrossCents is also given, both are used as given.","type":"integer","minimum":0,"maximum":9007199254740991},"unitGrossCents":{"description":"Gross price per unit in cents. Must be at least unitNetCents.","type":"integer","minimum":0,"maximum":9007199254740991},"taxRateBps":{"description":"VAT rate in basis points, for example 1900 for 19 percent. Defaults to the product rate.","type":"integer","minimum":0,"maximum":10000}},"required":["productId"]}},"totalNetCents":{"description":"Required without lineItems; otherwise must match the derived total.","type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"description":"Required without lineItems; otherwise must match the derived total.","type":"integer","minimum":0,"maximum":9007199254740991},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"deliveryMethod":{"type":"string","enum":["email","sms","phone"]},"signatureMode":{"type":"string","enum":["consent","typed","drawn"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dueDateDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"dealId":{"x-moreflow-reference":{"resolver":"deals.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Deal the new record’s revenue rolls up to; it must be a live deal of the same client. Omitted: the client’s only open deal, or none when the client has zero or several open deals. null: leave the record unlinked."},"idempotencyKey":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","title","currency"]},"OperationContractsCreateInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsCreateInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsCreateInputDefinitionSchema0"}}]},"OperationContractsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this contract."},"templateId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"productId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","cancelled","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]},"title":{"type":"string"},"deliveryMethod":{"type":"string","enum":["email","sms","phone"]},"signatureMode":{"default":null,"nullable":true,"type":"string","enum":["consent","typed","drawn"]},"body":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsCreateOutputDefinitionSchema0"}},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsCreateOutputDefinitionSchema0"}},"description":"Deprecated: legacy mirror of lineItems; read lineItems."},"lineItems":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"productId":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"description":{"type":"string"},"quantity":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"unitNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"unitGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"taxRateBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["id","label","quantity","unitNetCents","unitGrossCents","taxRateBps"],"additionalProperties":false}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"dueDateDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"signedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"viewedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"paidAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancelledAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancellationReason":{"default":null,"nullable":true,"type":"string","enum":["price","timing","scope","duplicate","client_request","other"]},"cancellationReasonText":{"default":null,"nullable":true,"type":"string"},"expiresAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"auditFileId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"auditStorageId":{"default":null,"nullable":true,"type":"string"},"documentFileId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"documentStorageId":{"default":null,"nullable":true,"type":"string"},"documentSha256":{"default":null,"nullable":true,"type":"string","pattern":"^[a-f0-9]{64}$"},"documentRenderedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientName":{"default":null,"nullable":true,"type":"string"},"sentToEmail":{"default":null,"nullable":true,"description":"Email address the contract was last delivered to.","type":"string"},"sentToPhone":{"default":null,"nullable":true,"description":"Phone number (E.164) the contract signing link was last sent to by SMS.","type":"string"},"paymentConfig":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsCreateOutputDefinitionSchema0"}},"customSigningCheckboxes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-zA-Z0-9_-]+$"},"text":{"type":"object","properties":{"en":{"type":"string","minLength":1,"maxLength":500},"de":{"type":"string","minLength":1,"maxLength":500}},"required":["en","de"],"additionalProperties":false},"required":{"type":"boolean"},"checked":{"type":"boolean"}},"required":["id","text","required","checked"],"additionalProperties":false}},"failedPaymentAttempts":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"externalDebtCollection":{"type":"object","properties":{"agencyName":{"type":"string","description":"Collection agency the contract was handed to."},"reference":{"description":"The agency's case or file reference.","type":"string"},"note":{"type":"string"},"handedOverAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"outcome":{"description":"Set once the case is closed: collected (a recorded payment settled the contract), partially_recovered or uncollectible.","type":"string","enum":["collected","partially_recovered","uncollectible"]},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["agencyName","handedOverAt"],"additionalProperties":false,"description":"External (non-Paywise) debt collection case. Money the agency forwards is recorded with contracts.externalPayment.record."},"deleted":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","templateId","productId","status","title","deliveryMethod","signatureMode","body","items","lineItems","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","currency","dueDateDays","signedAt","sentAt","viewedAt","paidAt","cancelledAt","cancellationReason","cancellationReasonText","expiresAt","auditFileId","auditStorageId","documentFileId","documentStorageId","documentSha256","documentRenderedAt","clientName","sentToEmail","sentToPhone","paymentConfig","customSigningCheckboxes","failedPaymentAttempts","deleted","createdAt","updatedAt"],"additionalProperties":false},"OperationContractsCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsCreateOutputDefinitionSchema0"}}]},"OperationContractsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationContractsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationContractsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsCreateErrorDefinitionSchema0"}}]},"OperationContractsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsCreateErrorDefinitionSchema1"}}]},"OperationContractsDealUpdateInput":{"type":"object","properties":{"contractId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"contract id","x-moreflow-reference":{"resolver":"contracts.get"}},"dealId":{"nullable":true,"x-moreflow-reference":{"resolver":"deals.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Deal to link the contract to, or null to unlink it."}},"required":["contractId","dealId"]},"OperationContractsDealUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of the contract or offer."},"recordType":{"type":"string","enum":["contract","offer"]},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"dealId":{"nullable":true,"x-moreflow-reference":{"resolver":"deals.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Deal the record’s revenue rolls up to; null when unlinked."},"partner":{"nullable":true,"description":"The other half of the same offer workflow (an offer’s generated contract, or the offer that generated the contract). It always carries the same deal and was updated together.","type":"object","properties":{"recordType":{"type":"string","enum":["contract","offer"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dealId":{"nullable":true,"x-moreflow-reference":{"resolver":"deals.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Deal of the partner record; always equal to dealId."}},"required":["recordType","id","dealId"],"additionalProperties":false}},"required":["id","recordType","clientId","dealId","partner"],"additionalProperties":false},"OperationContractsDealUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","DEAL_NOT_FOUND","FORBIDDEN","DEAL_ARCHIVED","DEAL_CLIENT_MISMATCH","DEAL_LINK_CONFLICT","DEAL_LINK_CHANGED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsDealUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationContractsDealUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationContractsDealUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsDealUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsDealUpdateErrorDefinitionSchema0"}}]},"OperationContractsDealUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsDealUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsDealUpdateErrorDefinitionSchema1"}}]},"OperationContractsGetInput":{"type":"object","properties":{"contractId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["contractId"]},"OperationContractsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this contract."},"templateId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"productId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","cancelled","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]},"title":{"type":"string"},"deliveryMethod":{"type":"string","enum":["email","sms","phone"]},"signatureMode":{"default":null,"nullable":true,"type":"string","enum":["consent","typed","drawn"]},"body":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsGetOutputDefinitionSchema0"}},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsGetOutputDefinitionSchema0"}},"description":"Deprecated: legacy mirror of lineItems; read lineItems."},"lineItems":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"productId":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"description":{"type":"string"},"quantity":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"unitNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"unitGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"taxRateBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["id","label","quantity","unitNetCents","unitGrossCents","taxRateBps"],"additionalProperties":false}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"dueDateDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"signedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"viewedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"paidAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancelledAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancellationReason":{"default":null,"nullable":true,"type":"string","enum":["price","timing","scope","duplicate","client_request","other"]},"cancellationReasonText":{"default":null,"nullable":true,"type":"string"},"expiresAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"auditFileId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"auditStorageId":{"default":null,"nullable":true,"type":"string"},"documentFileId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"documentStorageId":{"default":null,"nullable":true,"type":"string"},"documentSha256":{"default":null,"nullable":true,"type":"string","pattern":"^[a-f0-9]{64}$"},"documentRenderedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientName":{"default":null,"nullable":true,"type":"string"},"sentToEmail":{"default":null,"nullable":true,"description":"Email address the contract was last delivered to.","type":"string"},"sentToPhone":{"default":null,"nullable":true,"description":"Phone number (E.164) the contract signing link was last sent to by SMS.","type":"string"},"paymentConfig":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsGetOutputDefinitionSchema0"}},"customSigningCheckboxes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-zA-Z0-9_-]+$"},"text":{"type":"object","properties":{"en":{"type":"string","minLength":1,"maxLength":500},"de":{"type":"string","minLength":1,"maxLength":500}},"required":["en","de"],"additionalProperties":false},"required":{"type":"boolean"},"checked":{"type":"boolean"}},"required":["id","text","required","checked"],"additionalProperties":false}},"failedPaymentAttempts":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"externalDebtCollection":{"type":"object","properties":{"agencyName":{"type":"string","description":"Collection agency the contract was handed to."},"reference":{"description":"The agency's case or file reference.","type":"string"},"note":{"type":"string"},"handedOverAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"outcome":{"description":"Set once the case is closed: collected (a recorded payment settled the contract), partially_recovered or uncollectible.","type":"string","enum":["collected","partially_recovered","uncollectible"]},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["agencyName","handedOverAt"],"additionalProperties":false,"description":"External (non-Paywise) debt collection case. Money the agency forwards is recorded with contracts.externalPayment.record."},"deleted":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientPhoneNumber":{"default":null,"nullable":true,"type":"string"},"productName":{"default":null,"nullable":true,"type":"string"},"product":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"priceCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3}},"required":["id","name","priceCents","currency"],"additionalProperties":false},"invoiceAvailable":{"type":"boolean"},"invoiceDueAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canManagePaymentOptions":{"type":"boolean"},"paymentState":{"type":"string","enum":["unpaid","partially_paid","paid"]},"paymentBalance":{"type":"object","properties":{"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"paidNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"paidGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"remainingNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"remainingGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"settled":{"type":"boolean"},"currency":{"type":"string","minLength":3,"maxLength":3}},"required":["totalNetCents","totalGrossCents","paidNetCents","paidGrossCents","remainingNetCents","remainingGrossCents","settled","currency"],"additionalProperties":false},"refundablePayments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"PaymentId"},"provider":{"type":"string","enum":["stripe","paypal"]},"amountCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3}},"required":["id","provider","amountCents","currency"],"additionalProperties":false}},"voidablePayments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"provider":{"type":"string","enum":["external","bank_transfer"]},"amountCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"receivedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","provider","amountCents","currency","receivedAt"],"additionalProperties":false},"description":"Recorded external payments the caller may void with contracts.externalPayment.void."},"payments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"contractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"meetingId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["pending","requires_action","succeeded","failed","refunded","cancelled","voided"]},"type":{"type":"string","enum":["product","contract","meeting"]},"amountCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"provider":{"type":"string"},"paymentMethod":{"type":"string","enum":["card","klarna","paypal","visa","mastercard","amex","stripe","stripe_card","bank_transfer","transfer","external_payment","manual"]},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsGetOutputDefinitionSchema0"}}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","contractId","invoiceId","meetingId","status","type","amountCents","currency","provider","paymentMethod","items","createdAt","updatedAt"],"additionalProperties":false}},"offerId":{"default":null,"nullable":true,"description":"Offer whose accepted workflow generated this contract, when there is one.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"OfferId"},"installmentPlanId":{"default":null,"nullable":true,"description":"Installment plan that settles this contract. Present once one of its installment payments exists.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dealId":{"default":null,"x-moreflow-reference":{"resolver":"deals.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Deal this contract’s revenue rolls up to; change it with contracts.deal.update."},"capabilities":{"type":"object","properties":{"canViewAuditLog":{"type":"boolean"},"canResendEmail":{"type":"boolean"},"canResendSms":{"type":"boolean"},"canDownloadDocument":{"type":"boolean","description":"Deprecated: contracts have no unsigned PDF any more; always false. Use canDownloadCertificate."},"canDownloadCertificate":{"type":"boolean"},"canRegenerateAudit":{"type":"boolean"},"canCopyPublicLink":{"type":"boolean"},"canSendPaymentLink":{"type":"boolean"},"canDownloadInvoice":{"type":"boolean"},"canRegenerateInvoice":{"type":"boolean"},"canRefundPayment":{"type":"boolean"},"canVoidPayment":{"type":"boolean"},"canRecordExternalPayment":{"type":"boolean"},"canSendPaymentWarning":{"type":"boolean"},"canSendToDebtCollection":{"type":"boolean"},"canRecordExternalDebtCollection":{"type":"boolean"},"canCompleteExternalDebtCollection":{"type":"boolean"},"canCancel":{"type":"boolean"},"canDelete":{"type":"boolean"},"canEdit":{"type":"boolean"}},"required":["canViewAuditLog","canResendEmail","canResendSms","canDownloadDocument","canDownloadCertificate","canRegenerateAudit","canCopyPublicLink","canSendPaymentLink","canDownloadInvoice","canRegenerateInvoice","canRefundPayment","canVoidPayment","canRecordExternalPayment","canSendPaymentWarning","canSendToDebtCollection","canRecordExternalDebtCollection","canCompleteExternalDebtCollection","canCancel","canDelete","canEdit"],"additionalProperties":false}},"required":["id","clientId","templateId","productId","status","title","deliveryMethod","signatureMode","body","items","lineItems","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","currency","dueDateDays","signedAt","sentAt","viewedAt","paidAt","cancelledAt","cancellationReason","cancellationReasonText","expiresAt","auditFileId","auditStorageId","documentFileId","documentStorageId","documentSha256","documentRenderedAt","clientName","sentToEmail","sentToPhone","paymentConfig","customSigningCheckboxes","failedPaymentAttempts","deleted","createdAt","updatedAt","clientPhoneNumber","productName","product","invoiceAvailable","invoiceDueAt","canManagePaymentOptions","paymentState","paymentBalance","refundablePayments","voidablePayments","payments","offerId","installmentPlanId","dealId","capabilities"],"additionalProperties":false},"OperationContractsGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsGetOutputDefinitionSchema0"}}]},"OperationContractsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationContractsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationContractsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsGetErrorDefinitionSchema0"}}]},"OperationContractsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsGetErrorDefinitionSchema1"}}]},"OperationContractsListInput":{"type":"object","properties":{"clientId":{"description":"Optional CRM client whose contracts should be listed.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"query":{"description":"Optional text matched against contract and client details.","type":"string"},"filters":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"field":{"type":"string","enum":["clientName","productName","title"]},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty","in","not_in"]},{"not":{}}]},"value":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"join":{"type":"string","enum":["and","or"]}},"required":["type","field","operator"]},{"type":"object","properties":{"type":{"type":"string","enum":["money"]},"field":{"type":"string","enum":["totalGrossCents","totalNetCents"]},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","greater_than","less_than","is_empty","is_not_empty"]},{"not":{}}]},"value":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"join":{"type":"string","enum":["and","or"]}},"required":["type","field","operator"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"field":{"type":"string","enum":["sentAt","signedAt","paidAt","expiresAt","createdAt"]},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","after","before","is_empty","is_not_empty"]},{"not":{}}]},"value":{"type":"string"},"join":{"type":"string","enum":["and","or"]}},"required":["type","field","operator"]},{"type":"object","properties":{"type":{"type":"string","enum":["status"]},"field":{"type":"string","enum":["status"]},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","in","not_in"]},{"not":{}}]},"value":{"type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","cancelled","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]},"values":{"type":"array","items":{"type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","cancelled","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]}},"join":{"type":"string","enum":["and","or"]}},"required":["type","field","operator"]}]}},"sort":{"type":"object","properties":{"field":{"type":"string","enum":["clientName","productName","title","totalGrossCents","totalNetCents","sentAt","signedAt","paidAt","expiresAt","createdAt","status"]},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]},"attention":{"type":"string","enum":["awaiting_signature","delivery_failed","partially_paid","overdue_unpaid","expiring_soon","warning_eligible","debt_collection_eligible"]},"cursor":{"type":"string"},"includeTotals":{"default":true,"type":"boolean"},"includeBody":{"default":false,"type":"boolean"},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"status":{"type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","cancelled","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]}}},"OperationContractsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this contract."},"templateId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"productId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","cancelled","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]},"title":{"type":"string"},"deliveryMethod":{"type":"string","enum":["email","sms","phone"]},"signatureMode":{"default":null,"nullable":true,"type":"string","enum":["consent","typed","drawn"]},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsListOutputDefinitionSchema0"}},"description":"Deprecated: legacy mirror of lineItems; read lineItems."},"lineItems":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"productId":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"description":{"type":"string"},"quantity":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"unitNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"unitGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"taxRateBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["id","label","quantity","unitNetCents","unitGrossCents","taxRateBps"],"additionalProperties":false}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"dueDateDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"signedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"viewedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"paidAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancelledAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancellationReason":{"default":null,"nullable":true,"type":"string","enum":["price","timing","scope","duplicate","client_request","other"]},"cancellationReasonText":{"default":null,"nullable":true,"type":"string"},"expiresAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"auditFileId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"auditStorageId":{"default":null,"nullable":true,"type":"string"},"documentFileId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"documentStorageId":{"default":null,"nullable":true,"type":"string"},"documentSha256":{"default":null,"nullable":true,"type":"string","pattern":"^[a-f0-9]{64}$"},"documentRenderedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientName":{"default":null,"nullable":true,"type":"string"},"sentToEmail":{"default":null,"nullable":true,"description":"Email address the contract was last delivered to.","type":"string"},"sentToPhone":{"default":null,"nullable":true,"description":"Phone number (E.164) the contract signing link was last sent to by SMS.","type":"string"},"paymentConfig":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsListOutputDefinitionSchema0"}},"customSigningCheckboxes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-zA-Z0-9_-]+$"},"text":{"type":"object","properties":{"en":{"type":"string","minLength":1,"maxLength":500},"de":{"type":"string","minLength":1,"maxLength":500}},"required":["en","de"],"additionalProperties":false},"required":{"type":"boolean"},"checked":{"type":"boolean"}},"required":["id","text","required","checked"],"additionalProperties":false}},"failedPaymentAttempts":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"externalDebtCollection":{"type":"object","properties":{"agencyName":{"type":"string","description":"Collection agency the contract was handed to."},"reference":{"description":"The agency's case or file reference.","type":"string"},"note":{"type":"string"},"handedOverAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"outcome":{"description":"Set once the case is closed: collected (a recorded payment settled the contract), partially_recovered or uncollectible.","type":"string","enum":["collected","partially_recovered","uncollectible"]},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["agencyName","handedOverAt"],"additionalProperties":false,"description":"External (non-Paywise) debt collection case. Money the agency forwards is recorded with contracts.externalPayment.record."},"deleted":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"body":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsListOutputDefinitionSchema0"}},"clientPhoneNumber":{"default":null,"nullable":true,"type":"string"},"productName":{"default":null,"nullable":true,"type":"string"},"product":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"priceCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3}},"required":["id","name","priceCents","currency"],"additionalProperties":false},"invoiceAvailable":{"type":"boolean"},"refundablePayments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"PaymentId"},"provider":{"type":"string","enum":["stripe","paypal"]},"amountCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3}},"required":["id","provider","amountCents","currency"],"additionalProperties":false}},"voidablePayments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"provider":{"type":"string","enum":["external","bank_transfer"]},"amountCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"receivedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","provider","amountCents","currency","receivedAt"],"additionalProperties":false},"description":"Recorded external payments the caller may void with contracts.externalPayment.void."},"paymentState":{"type":"string","enum":["unpaid","partially_paid","paid"]},"paymentBalance":{"type":"object","properties":{"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"paidNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"paidGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"remainingNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"remainingGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"settled":{"type":"boolean"},"currency":{"type":"string","minLength":3,"maxLength":3}},"required":["totalNetCents","totalGrossCents","paidNetCents","paidGrossCents","remainingNetCents","remainingGrossCents","settled","currency"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canViewAuditLog":{"type":"boolean"},"canResendEmail":{"type":"boolean"},"canResendSms":{"type":"boolean"},"canDownloadDocument":{"type":"boolean","description":"Deprecated: contracts have no unsigned PDF any more; always false. Use canDownloadCertificate."},"canDownloadCertificate":{"type":"boolean"},"canRegenerateAudit":{"type":"boolean"},"canCopyPublicLink":{"type":"boolean"},"canSendPaymentLink":{"type":"boolean"},"canDownloadInvoice":{"type":"boolean"},"canRegenerateInvoice":{"type":"boolean"},"canRefundPayment":{"type":"boolean"},"canVoidPayment":{"type":"boolean"},"canRecordExternalPayment":{"type":"boolean"},"canSendPaymentWarning":{"type":"boolean"},"canSendToDebtCollection":{"type":"boolean"},"canRecordExternalDebtCollection":{"type":"boolean"},"canCompleteExternalDebtCollection":{"type":"boolean"},"canCancel":{"type":"boolean"},"canDelete":{"type":"boolean"},"canEdit":{"type":"boolean"}},"required":["canViewAuditLog","canResendEmail","canResendSms","canDownloadDocument","canDownloadCertificate","canRegenerateAudit","canCopyPublicLink","canSendPaymentLink","canDownloadInvoice","canRegenerateInvoice","canRefundPayment","canVoidPayment","canRecordExternalPayment","canSendPaymentWarning","canSendToDebtCollection","canRecordExternalDebtCollection","canCompleteExternalDebtCollection","canCancel","canDelete","canEdit"],"additionalProperties":false}},"required":["id","clientId","templateId","productId","status","title","deliveryMethod","signatureMode","items","lineItems","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","currency","dueDateDays","signedAt","sentAt","viewedAt","paidAt","cancelledAt","cancellationReason","cancellationReasonText","expiresAt","auditFileId","auditStorageId","documentFileId","documentStorageId","documentSha256","documentRenderedAt","clientName","sentToEmail","sentToPhone","paymentConfig","customSigningCheckboxes","failedPaymentAttempts","deleted","createdAt","updatedAt","body","clientPhoneNumber","productName","product","invoiceAvailable","refundablePayments","voidablePayments","paymentState","paymentBalance","capabilities"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationContractsListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsListOutputDefinitionSchema0"}}]},"OperationContractsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationContractsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationContractsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsListErrorDefinitionSchema0"}}]},"OperationContractsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsListErrorDefinitionSchema1"}}]},"OperationContractsStatusUpdateInput":{"anyOf":[{"type":"object","properties":{"contractId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"nextStatus":{"type":"string","enum":["cancelled"]},"reason":{"type":"string","enum":["price","timing","scope","duplicate","client_request","other"]},"reasonText":{"type":"string","minLength":1,"maxLength":500},"idempotencyKey":{"type":"string","minLength":1}},"required":["contractId","nextStatus","reason"]},{"type":"object","properties":{"contractId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"nextStatus":{"type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]},"recipient":{"description":"Only for nextStatus sent: saved client address the contract goes to (email or phone contact point matching the delivery method). Omit it to use the draft's chosen recipient, else the client's primary address. Free-form addresses are not accepted.","type":"object","properties":{"contactPointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Id of one of the client's saved email addresses or phone numbers (client.emails[].id / client.phones[].id, or a candidate id from clients.recipients.resolve).","x-moreflow-reference":{"resolver":"clients.get"}}},"required":["contactPointId"],"additionalProperties":false},"expectedEmail":{"description":"Email address shown in the send confirmation. When supplied, the send is refused with CONFLICT recipient_changed if the resolved saved address has changed.","type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["contractId","nextStatus"]}]},"OperationContractsStatusUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this contract."},"templateId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"productId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","cancelled","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]},"title":{"type":"string"},"deliveryMethod":{"type":"string","enum":["email","sms","phone"]},"signatureMode":{"default":null,"nullable":true,"type":"string","enum":["consent","typed","drawn"]},"body":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsStatusUpdateOutputDefinitionSchema0"}},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsStatusUpdateOutputDefinitionSchema0"}},"description":"Deprecated: legacy mirror of lineItems; read lineItems."},"lineItems":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"productId":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"description":{"type":"string"},"quantity":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"unitNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"unitGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"taxRateBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["id","label","quantity","unitNetCents","unitGrossCents","taxRateBps"],"additionalProperties":false}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"dueDateDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"signedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"viewedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"paidAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancelledAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancellationReason":{"default":null,"nullable":true,"type":"string","enum":["price","timing","scope","duplicate","client_request","other"]},"cancellationReasonText":{"default":null,"nullable":true,"type":"string"},"expiresAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"auditFileId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"auditStorageId":{"default":null,"nullable":true,"type":"string"},"documentFileId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"documentStorageId":{"default":null,"nullable":true,"type":"string"},"documentSha256":{"default":null,"nullable":true,"type":"string","pattern":"^[a-f0-9]{64}$"},"documentRenderedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientName":{"default":null,"nullable":true,"type":"string"},"sentToEmail":{"default":null,"nullable":true,"description":"Email address the contract was last delivered to.","type":"string"},"sentToPhone":{"default":null,"nullable":true,"description":"Phone number (E.164) the contract signing link was last sent to by SMS.","type":"string"},"paymentConfig":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsStatusUpdateOutputDefinitionSchema0"}},"customSigningCheckboxes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-zA-Z0-9_-]+$"},"text":{"type":"object","properties":{"en":{"type":"string","minLength":1,"maxLength":500},"de":{"type":"string","minLength":1,"maxLength":500}},"required":["en","de"],"additionalProperties":false},"required":{"type":"boolean"},"checked":{"type":"boolean"}},"required":["id","text","required","checked"],"additionalProperties":false}},"failedPaymentAttempts":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"externalDebtCollection":{"type":"object","properties":{"agencyName":{"type":"string","description":"Collection agency the contract was handed to."},"reference":{"description":"The agency's case or file reference.","type":"string"},"note":{"type":"string"},"handedOverAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"outcome":{"description":"Set once the case is closed: collected (a recorded payment settled the contract), partially_recovered or uncollectible.","type":"string","enum":["collected","partially_recovered","uncollectible"]},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["agencyName","handedOverAt"],"additionalProperties":false,"description":"External (non-Paywise) debt collection case. Money the agency forwards is recorded with contracts.externalPayment.record."},"deleted":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","templateId","productId","status","title","deliveryMethod","signatureMode","body","items","lineItems","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","currency","dueDateDays","signedAt","sentAt","viewedAt","paidAt","cancelledAt","cancellationReason","cancellationReasonText","expiresAt","auditFileId","auditStorageId","documentFileId","documentStorageId","documentSha256","documentRenderedAt","clientName","sentToEmail","sentToPhone","paymentConfig","customSigningCheckboxes","failedPaymentAttempts","deleted","createdAt","updatedAt"],"additionalProperties":false},"OperationContractsStatusUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsStatusUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsStatusUpdateOutputDefinitionSchema0"}}]},"OperationContractsStatusUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_STATE","CONFLICT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","CONFIGURATION_ERROR","RECIPIENT_NOT_ON_CLIENT","RECIPIENT_WRONG_KIND","CLIENT_NO_EMAIL","PROVIDER_ERROR","OUTBOUND_GOVERNOR_BLOCKED","AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","PDF_SEAL_FAILED","SANDBOX_REQUIRES_ACCOUNT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsStatusUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationContractsStatusUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationContractsStatusUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsStatusUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsStatusUpdateErrorDefinitionSchema0"}}]},"OperationContractsStatusUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsStatusUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsStatusUpdateErrorDefinitionSchema1"}}]},"OperationContractsTemplatesListInput":{"type":"object","properties":{"status":{"description":"Optional contract template lifecycle status to include.","type":"string","enum":["draft","active","archived"]},"includeArchived":{"description":"Include contract templates that have been archived.","type":"boolean"},"query":{"description":"Optional text matched against contract template names and content.","type":"string"},"cursor":{"type":"string","minLength":1,"maxLength":4096},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}}},"OperationContractsTemplatesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractTemplateId"},"name":{"type":"string"},"status":{"type":"string","enum":["draft","active","archived"]},"body":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsTemplatesListOutputDefinitionSchema0"}},"customSigningCheckboxes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-zA-Z0-9_-]+$"},"text":{"type":"object","properties":{"en":{"type":"string","minLength":1,"maxLength":500},"de":{"type":"string","minLength":1,"maxLength":500}},"required":["en","de"],"additionalProperties":false},"required":{"type":"boolean"}},"required":["id","text","required"],"additionalProperties":false}},"variables":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsTemplatesListOutputDefinitionSchema0"}}},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"archivedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","status","body","customSigningCheckboxes","variables","version","createdAt","updatedAt","archivedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationContractsTemplatesListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsTemplatesListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsTemplatesListOutputDefinitionSchema0"}}]},"OperationContractsTemplatesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsTemplatesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationContractsTemplatesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationContractsTemplatesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsTemplatesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsTemplatesListErrorDefinitionSchema0"}}]},"OperationContractsTemplatesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsTemplatesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsTemplatesListErrorDefinitionSchema1"}}]},"OperationContractsWorkspaceSummaryGetInput":{"type":"object","properties":{"clientId":{"description":"Optional CRM client whose contracts should be listed.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"description":"Optional contract lifecycle status to include (v1 snake_case status).","type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","cancelled","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]},"query":{"description":"Optional text matched against contract and client details.","type":"string"},"filters":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"field":{"type":"string","enum":["clientName","productName","title"]},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty","in","not_in"]},{"not":{}}]},"value":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"join":{"type":"string","enum":["and","or"]}},"required":["type","field","operator"]},{"type":"object","properties":{"type":{"type":"string","enum":["money"]},"field":{"type":"string","enum":["totalGrossCents","totalNetCents"]},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","greater_than","less_than","is_empty","is_not_empty"]},{"not":{}}]},"value":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"join":{"type":"string","enum":["and","or"]}},"required":["type","field","operator"]},{"type":"object","properties":{"type":{"type":"string","enum":["date"]},"field":{"type":"string","enum":["sentAt","signedAt","paidAt","expiresAt","createdAt"]},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","after","before","is_empty","is_not_empty"]},{"not":{}}]},"value":{"type":"string"},"join":{"type":"string","enum":["and","or"]}},"required":["type","field","operator"]},{"type":"object","properties":{"type":{"type":"string","enum":["status"]},"field":{"type":"string","enum":["status"]},"operator":{"anyOf":[{"type":"string","enum":["equals","not_equals","in","not_in"]},{"not":{}}]},"value":{"type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","cancelled","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]},"values":{"type":"array","items":{"type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","cancelled","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]}},"join":{"type":"string","enum":["and","or"]}},"required":["type","field","operator"]}]}}}},"OperationContractsWorkspaceSummaryGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["contract_attention_summary"]},"views":{"type":"array","items":{"type":"object","properties":{"attention":{"type":"string","enum":["awaiting_signature","delivery_failed","partially_paid","overdue_unpaid","expiring_soon","warning_eligible","debt_collection_eligible"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalsByCurrency":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":3,"maxLength":3},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRemainingGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["currency","totalGrossCents","totalRemainingGrossCents"],"additionalProperties":false}}},"required":["attention","count","totalsByCurrency"],"additionalProperties":false}}},"required":["id","views"],"additionalProperties":false},"OperationContractsWorkspaceSummaryGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationContractsWorkspaceSummaryGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetErrorDefinitionSchema0"}}]},"OperationContractsWorkspaceSummaryGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetErrorDefinitionSchema1"}}]},"OperationCrmTouchpointsCreateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channel":{"type":"string","enum":["whatsapp","sms","phone","email","in_person","other"]},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"note":{"type":"string","minLength":1,"maxLength":2000},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","channel"]},"OperationCrmTouchpointsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"userId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["call","chatbot","chatbot_conversation","client","client_field_update","client_note","client_note_created","contract","document","email","error","file","folder","follow_up","form","form_entry","form_submission","integration","invoice","legacy","meeting","mention","note","other","payment","paywise_claim","phone_call","product_purchased","reminder","sms","status","system","task","warning","whatsapp","deal","whatsapp_call"]},"title":{"type":"string"},"description":{"default":null,"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["unknown","contracts.paymentWarning.send","contract_sent","contracts.paymentLinks.send","contracts.public.requestSigningOtp","contracts.public.sign","downstream_conversions.retry","invoice_created","meetings.create","offer_sent","payments.reconcile","communications.portalLinks.send","crm.touchpoints.create","settings.team.invite"]},"event":{"type":"string","enum":["unknown","block","bounced","attended","call_answered","call_completed","call_declined","call_failed","call_forwarded","call_no_answer","call_started","cancelled","client_status_changed","clicked","complete","create","delete","delivered","failed","form_submission","incoming_call","invoice_overdue","meeting_reminder","missed_call","opened","outgoing_call","paid","payment_completed","payment_failed","payment_received","payment_successful","plan_completed","plan_created","plan_revised","purchased","received","restore","sent","signed","submit","transfer","update","upload","viewed","deal_created","deal_updated","deal_stage_changed","deal_won","deal_lost","deal_reopened","deal_owner_changed","deal_archived","whatsapp_call_permission_requested","whatsapp_call_permission_replied","whatsapp_call_recording_available"]},"emailId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"phoneCallId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fileId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"followUpId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientNoteId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientNoteId"},"contractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractId"},"meetingId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"MeetingId"},"paymentId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"PaymentId"},"paywiseClaimId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"statusFrom":{"default":null,"nullable":true,"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"statusTo":{"default":null,"nullable":true,"type":"string","enum":["lead","contact_attempt","appointment_scheduled","appointment_attended","no_show","contract_sent","contract_viewed","contract_signed","payment_reminder_sent","sent_to_collections","contract_cancelled","paid","not_qualified","follow_up","blocked"]},"formEntryId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"formId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actorType":{"default":null,"nullable":true,"type":"string"},"chatbotId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"chatbotConversationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"bodyPreview":{"default":null,"nullable":true,"type":"string"},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","userId","type","title","description","trigger","event","emailId","phoneCallId","fileId","followUpId","clientNoteId","contractId","meetingId","paymentId","paywiseClaimId","statusFrom","statusTo","formEntryId","formId","actorType","chatbotId","chatbotConversationId","bodyPreview","occurredAt","createdAt"],"additionalProperties":false},"OperationCrmTouchpointsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEPENDENCY_UNAVAILABLE","NOT_FOUND","CLIENT_BLOCKED","INVALID_STATE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationCrmTouchpointsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateErrorDefinitionSchema0"}}]},"OperationCrmTouchpointsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateErrorDefinitionSchema1"}}]},"OperationDealsActivitiesListInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}},"required":["dealId"]},"OperationDealsActivitiesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["call","chatbot","chatbot_conversation","client","client_field_update","client_note","client_note_created","contract","document","email","error","file","folder","follow_up","form","form_entry","form_submission","integration","invoice","legacy","meeting","mention","note","other","payment","paywise_claim","phone_call","product_purchased","reminder","sms","status","system","task","warning","whatsapp","deal","whatsapp_call"]},"event":{"type":"string","enum":["unknown","block","bounced","attended","call_answered","call_completed","call_declined","call_failed","call_forwarded","call_no_answer","call_started","cancelled","client_status_changed","clicked","complete","create","delete","delivered","failed","form_submission","incoming_call","invoice_overdue","meeting_reminder","missed_call","opened","outgoing_call","paid","payment_completed","payment_failed","payment_received","payment_successful","plan_completed","plan_created","plan_revised","purchased","received","restore","sent","signed","submit","transfer","update","upload","viewed","deal_created","deal_updated","deal_stage_changed","deal_won","deal_lost","deal_reopened","deal_owner_changed","deal_archived","whatsapp_call_permission_requested","whatsapp_call_permission_replied","whatsapp_call_recording_available"]},"title":{"type":"string"},"description":{"default":null,"nullable":true,"type":"string"},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"userId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"actorType":{"default":null,"nullable":true,"type":"string"},"details":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsActivitiesListOutputDefinitionSchema0"}},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","type","event","title","description","dealId","clientId","userId","actorType","details","occurredAt","createdAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationDealsActivitiesListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsActivitiesListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsActivitiesListOutputDefinitionSchema0"}}]},"OperationDealsActivitiesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsActivitiesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsActivitiesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsActivitiesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsActivitiesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsActivitiesListErrorDefinitionSchema0"}}]},"OperationDealsActivitiesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsActivitiesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsActivitiesListErrorDefinitionSchema1"}}]},"OperationDealsArchiveBatchUpdateInput":{"type":"object","properties":{"deals":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["dealId","expectedVersion"],"additionalProperties":false}},"archived":{"type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["deals","archived"],"additionalProperties":false},"OperationDealsArchiveBatchUpdateOutput":{"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"status":{"type":"string","enum":["succeeded"]},"deal":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false}},"required":["dealId","status","deal"],"additionalProperties":false},{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"status":{"type":"string","enum":["failed"]},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateOutputDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateOutputDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateOutputDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false}},"required":["dealId","status","error"],"additionalProperties":false}]}}},"required":["items"],"additionalProperties":false},"OperationDealsArchiveBatchUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateOutputDefinitionSchema0"}}]},"OperationDealsArchiveBatchUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","VERSION_CONFLICT","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsArchiveBatchUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateErrorDefinitionSchema0"}}]},"OperationDealsArchiveBatchUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateErrorDefinitionSchema1"}}]},"OperationDealsArchiveUpdateInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"archived":{"type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["dealId","expectedVersion","archived"]},"OperationDealsArchiveUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false},"OperationDealsArchiveUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","VERSION_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsArchiveUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateErrorDefinitionSchema0"}}]},"OperationDealsArchiveUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateErrorDefinitionSchema1"}}]},"OperationDealsCommentsCreateInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"body":{"type":"string","minLength":1,"maxLength":5000},"mentionedUserIds":{"maxItems":50,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"description":"Account users mentioned in the body. Newly mentioned users other than the author are notified."}},"required":["dealId","body"]},"OperationDealsCommentsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal comment id","x-moreflow-reference":{"resolver":"deals.comments.list"}},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"body":{"type":"string"},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"}},"author":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"editedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canDelete":{"type":"boolean"}},"required":["canEdit","canDelete"],"additionalProperties":false}},"required":["id","dealId","body","mentionedUserIds","author","editedAt","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationDealsCommentsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","MENTION_NOT_MEMBER"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsCommentsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsCommentsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsCreateErrorDefinitionSchema0"}}]},"OperationDealsCommentsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsCommentsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsCreateErrorDefinitionSchema1"}}]},"OperationDealsCommentsDeleteInput":{"type":"object","properties":{"commentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal comment id","x-moreflow-reference":{"resolver":"deals.comments.list"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["commentId"]},"OperationDealsCommentsDeleteOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal comment id","x-moreflow-reference":{"resolver":"deals.comments.list"}},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}}},"required":["id","dealId"],"additionalProperties":false},"OperationDealsCommentsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_COMMENT_NOT_FOUND","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsCommentsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteErrorDefinitionSchema0"}}]},"OperationDealsCommentsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteErrorDefinitionSchema1"}}]},"OperationDealsCommentsListInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"description":"nextCursor of the previous page, for older comments.","type":"string","minLength":1}},"required":["dealId"]},"OperationDealsCommentsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal comment id","x-moreflow-reference":{"resolver":"deals.comments.list"}},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"body":{"type":"string"},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"}},"author":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"editedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canDelete":{"type":"boolean"}},"required":["canEdit","canDelete"],"additionalProperties":false}},"required":["id","dealId","body","mentionedUserIds","author","editedAt","createdAt","updatedAt","capabilities"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"canComment":{"type":"boolean","description":"Whether the caller may add comments to this deal."}},"required":["items","nextCursor","canComment"],"additionalProperties":false},"OperationDealsCommentsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsCommentsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsCommentsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsListErrorDefinitionSchema0"}}]},"OperationDealsCommentsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsCommentsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsListErrorDefinitionSchema1"}}]},"OperationDealsCommentsUpdateInput":{"type":"object","properties":{"commentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal comment id","x-moreflow-reference":{"resolver":"deals.comments.list"}},"body":{"type":"string","minLength":1,"maxLength":5000},"mentionedUserIds":{"maxItems":50,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"description":"Account users mentioned in the body. Newly mentioned users other than the author are notified."}},"required":["commentId","body"]},"OperationDealsCommentsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal comment id","x-moreflow-reference":{"resolver":"deals.comments.list"}},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"body":{"type":"string"},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"}},"author":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"editedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canDelete":{"type":"boolean"}},"required":["canEdit","canDelete"],"additionalProperties":false}},"required":["id","dealId","body","mentionedUserIds","author","editedAt","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationDealsCommentsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_COMMENT_NOT_FOUND","MENTION_NOT_MEMBER","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsCommentsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateErrorDefinitionSchema0"}}]},"OperationDealsCommentsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateErrorDefinitionSchema1"}}]},"OperationDealsCreateInput":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"description":{"type":"string","maxLength":5000},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"customFields":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"]}},"sourceTouchpointId":{"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"Touchpoint of the client (clients.touchpoints.list) that produced the deal; the source becomes manual. Omitted: the client’s latest touchpoint at or before the deal’s creation is credited, or the deal is untracked without one.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["title","clientId"]},"OperationDealsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false},"OperationDealsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","OWNER_NOT_MEMBER","PIPELINE_NOT_FOUND","STAGE_NOT_IN_PIPELINE","CLIENT_NOT_FOUND","INVALID_STATE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCreateErrorDefinitionSchema0"}}]},"OperationDealsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsCreateErrorDefinitionSchema1"}}]},"OperationDealsForecastGetInput":{"type":"object","properties":{"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline to report on. Defaults to the default pipeline, else the first pipeline by position.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"owner":{"anyOf":[{"type":"string","enum":["me"],"description":"Only deals owned by the calling user."},{"type":"string","enum":["unassigned"],"description":"Only deals without an owner."},{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"description":"Only deals owned by one of these account members."}]},"fromMonth":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","description":"First local month of the forecast window, YYYY-MM. Defaults to the current account-local month."},"months":{"description":"Number of consecutive local months, 1 to 12. Defaults to 6.","type":"integer","minimum":1,"maximum":12}}},"OperationDealsForecastGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["forecast"]},"months":{"type":"array","items":{"type":"object","properties":{"month":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$"},"byCurrency":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":1},"openAmountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"weightedAmountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Open amount times stage probability, rounded to cents."},"wonAmountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Won amount closed in the month. Not weighted."}},"required":["currency","openAmountCents","weightedAmountCents","wonAmountCents"],"additionalProperties":false}}},"required":["month","byCurrency"],"additionalProperties":false}},"undated":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":1},"openAmountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"weightedAmountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Open amount times stage probability, rounded to cents."}},"required":["currency","openAmountCents","weightedAmountCents"],"additionalProperties":false},"description":"Open deals without an expected close date."},"overdue":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":1},"openAmountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"weightedAmountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Open amount times stage probability, rounded to cents."}},"required":["currency","openAmountCents","weightedAmountCents"],"additionalProperties":false},"description":"Open deals whose expected close date is before today."},"winRate":{"type":"object","properties":{"won":{"type":"integer","minimum":0,"maximum":9007199254740991},"lost":{"type":"integer","minimum":0,"maximum":9007199254740991},"rate":{"nullable":true,"description":"won / (won + lost) over deals closed in the last 90 account-local days; null without closed deals.","type":"number","minimum":0,"maximum":1}},"required":["won","lost","rate"],"additionalProperties":false}},"required":["id","months","undated","overdue","winRate"],"additionalProperties":false},"OperationDealsForecastGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsForecastGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsForecastGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsForecastGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsForecastGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsForecastGetErrorDefinitionSchema0"}}]},"OperationDealsForecastGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsForecastGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsForecastGetErrorDefinitionSchema1"}}]},"OperationDealsGetInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}}},"required":["dealId"]},"OperationDealsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false},"firstTouch":{"nullable":true,"description":"The client’s earliest touch at or before the deal’s creation (first-touch view, read from the ledger); null without one.","type":"object","properties":{"touchpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"touchpoint id","x-moreflow-reference":{"resolver":"clients.touchpoints.get"}},"touch":{"type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false,"description":"Snapshot of the touch’s attribution, copied when the deal was credited; it never changes with the ledger."}},"required":["touchpointId","touch"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false},"OperationDealsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsGetErrorDefinitionSchema0"}}]},"OperationDealsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsGetErrorDefinitionSchema1"}}]},"OperationDealsListInput":{"type":"object","properties":{"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"statuses":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["open","won","lost"]}},"owner":{"anyOf":[{"type":"string","enum":["me"]},{"type":"string","enum":["unassigned"]},{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"}}]},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"customFieldFilters":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"fieldId":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_-]+$"},{"type":"string","pattern":"^(?:draft:)?[A-Za-z0-9_-]+$"}]},"operator":{"type":"string","enum":["equals","notEquals","contains","notContains","startsWith","endsWith","isEmpty","isNotEmpty","in","notIn","after","before","greaterThan","lessThan"]},"value":{"type":"string"},"values":{"maxItems":100,"type":"array","items":{"type":"string"}}},"required":["fieldId","operator"],"additionalProperties":false}},"expectedCloseFromDate":{"type":"string"},"expectedCloseToDate":{"type":"string"},"attention":{"type":"string","enum":["overdue_close","stale_stage","unassigned"]},"withoutNextStep":{"type":"boolean"},"inactiveForDays":{"type":"integer","minimum":1,"maximum":365},"search":{"type":"string","minLength":1,"maxLength":200},"includeArchived":{"type":"boolean"},"sort":{"type":"object","properties":{"field":{"anyOf":[{"type":"string","enum":["updatedAt","createdAt","expectedCloseDate","amountCents","title"]},{"anyOf":[{"type":"string","pattern":"^custom:[A-Za-z0-9_-]+$"},{"type":"string","pattern":"^custom:(?:draft:)?[A-Za-z0-9_-]+$"}]}]},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationDealsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationDealsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsListErrorDefinitionSchema0"}}]},"OperationDealsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsListErrorDefinitionSchema1"}}]},"OperationDealsOutcomeBatchUpdateInput":{"type":"object","properties":{"deals":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["dealId","expectedVersion"],"additionalProperties":false}},"outcome":{"type":"string","enum":["won","lost"]},"lostReasonCode":{"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string","maxLength":2000},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["deals","outcome"],"additionalProperties":false},"OperationDealsOutcomeBatchUpdateOutput":{"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"status":{"type":"string","enum":["succeeded"]},"deal":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false}},"required":["dealId","status","deal"],"additionalProperties":false},{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"status":{"type":"string","enum":["failed"]},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateOutputDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateOutputDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateOutputDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false}},"required":["dealId","status","error"],"additionalProperties":false}]}}},"required":["items"],"additionalProperties":false},"OperationDealsOutcomeBatchUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateOutputDefinitionSchema0"}}]},"OperationDealsOutcomeBatchUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","VERSION_CONFLICT","DEAL_ARCHIVED","DEAL_ALREADY_OPEN","DEAL_OUTCOME_UNCHANGED","LOST_REASON_REQUIRED","LOST_REASON_TEXT_TOO_LONG","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsOutcomeBatchUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateErrorDefinitionSchema0"}}]},"OperationDealsOutcomeBatchUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateErrorDefinitionSchema1"}}]},"OperationDealsOutcomeUpdateInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"outcome":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string","maxLength":2000}},"required":["dealId","expectedVersion","outcome"],"additionalProperties":false},"OperationDealsOutcomeUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false},"OperationDealsOutcomeUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","VERSION_CONFLICT","DEAL_ARCHIVED","LOST_REASON_REQUIRED","LOST_REASON_TEXT_TOO_LONG","DEAL_ALREADY_OPEN","DEAL_OUTCOME_UNCHANGED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsOutcomeUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateErrorDefinitionSchema0"}}]},"OperationDealsOutcomeUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateErrorDefinitionSchema1"}}]},"OperationDealsOwnerBatchUpdateInput":{"type":"object","properties":{"deals":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["dealId","expectedVersion"],"additionalProperties":false}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["deals","ownerUserId"],"additionalProperties":false},"OperationDealsOwnerBatchUpdateOutput":{"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"status":{"type":"string","enum":["succeeded"]},"deal":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false}},"required":["dealId","status","deal"],"additionalProperties":false},{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"status":{"type":"string","enum":["failed"]},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateOutputDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateOutputDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateOutputDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false}},"required":["dealId","status","error"],"additionalProperties":false}]}}},"required":["items"],"additionalProperties":false},"OperationDealsOwnerBatchUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateOutputDefinitionSchema0"}}]},"OperationDealsOwnerBatchUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","VERSION_CONFLICT","DEAL_ARCHIVED","OWNER_NOT_MEMBER","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsOwnerBatchUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateErrorDefinitionSchema0"}}]},"OperationDealsOwnerBatchUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateErrorDefinitionSchema1"}}]},"OperationDealsOwnerUpdateInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"}},"required":["dealId","expectedVersion","ownerUserId"],"additionalProperties":false},"OperationDealsOwnerUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false},"OperationDealsOwnerUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","VERSION_CONFLICT","DEAL_ARCHIVED","OWNER_NOT_MEMBER"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsOwnerUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateErrorDefinitionSchema0"}}]},"OperationDealsOwnerUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateErrorDefinitionSchema1"}}]},"OperationDealsPipelinesCreateInput":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"Pipeline name, unique within the account."},"stages":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"Stage name, unique within its pipeline."},"probability":{"type":"integer","minimum":0,"maximum":100,"description":"Win probability of deals in this stage, in percent (0-100)."}},"required":["name","probability"]},"description":"Initial open stages in display order. At least one stage is required."}},"required":["name","stages"]},"OperationDealsPipelinesCreateOutput":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"default":{"type":"boolean"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change this pipeline and its stages."}},"required":["canManage"],"additionalProperties":false},"stages":{"type":"array","items":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline stage id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based order within the pipeline."},"probability":{"type":"integer","minimum":0,"maximum":100},"won":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."},"lost":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."},"dealCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Deals referencing this stage, including won, lost and archived deals."}},"required":["createdAt","updatedAt","pipelineId","id","name","position","probability","won","lost","dealCount"],"additionalProperties":false},"description":"Stages ordered by position, with deal counts."}},"required":["createdAt","updatedAt","id","name","default","position","capabilities","stages"],"additionalProperties":false},"OperationDealsPipelinesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","PIPELINE_NAME_TAKEN","STAGE_NAME_TAKEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsPipelinesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateErrorDefinitionSchema0"}}]},"OperationDealsPipelinesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateErrorDefinitionSchema1"}}]},"OperationDealsPipelinesDeleteInput":{"type":"object","properties":{"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"moveDealsToStageId":{"description":"Stage in another pipeline that receives every deal of this pipeline (open, won, lost and archived). Required when any deal references the pipeline.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["pipelineId"]},"OperationDealsPipelinesDeleteOutput":{"type":"object","properties":{},"additionalProperties":false},"OperationDealsPipelinesDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","PIPELINE_NOT_FOUND","PIPELINE_IS_DEFAULT","PIPELINE_HAS_DEALS","REPLACEMENT_STAGE_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsPipelinesDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteErrorDefinitionSchema0"}}]},"OperationDealsPipelinesDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteErrorDefinitionSchema1"}}]},"OperationDealsPipelinesGetInput":{"type":"object","properties":{"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}}},"required":["pipelineId"]},"OperationDealsPipelinesGetOutput":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"default":{"type":"boolean"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change this pipeline and its stages."}},"required":["canManage"],"additionalProperties":false},"stages":{"type":"array","items":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline stage id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based order within the pipeline."},"probability":{"type":"integer","minimum":0,"maximum":100},"won":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."},"lost":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."},"dealCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Deals referencing this stage, including won, lost and archived deals."}},"required":["createdAt","updatedAt","pipelineId","id","name","position","probability","won","lost","dealCount"],"additionalProperties":false},"description":"Stages ordered by position, with deal counts."}},"required":["createdAt","updatedAt","id","name","default","position","capabilities","stages"],"additionalProperties":false},"OperationDealsPipelinesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","PIPELINE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsPipelinesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesGetErrorDefinitionSchema0"}}]},"OperationDealsPipelinesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesGetErrorDefinitionSchema1"}}]},"OperationDealsPipelinesListInput":{"type":"object","properties":{"limit":{"default":100,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationDealsPipelinesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"default":{"type":"boolean"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change this pipeline and its stages."}},"required":["canManage"],"additionalProperties":false},"stages":{"type":"array","items":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline stage id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based order within the pipeline."},"probability":{"type":"integer","minimum":0,"maximum":100},"won":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."},"lost":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."}},"required":["createdAt","updatedAt","pipelineId","id","name","position","probability","won","lost"],"additionalProperties":false},"description":"Stages ordered by position."}},"required":["createdAt","updatedAt","id","name","default","position","capabilities","stages"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationDealsPipelinesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsPipelinesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesListErrorDefinitionSchema0"}}]},"OperationDealsPipelinesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesListErrorDefinitionSchema1"}}]},"OperationDealsPipelinesStagesCreateInput":{"type":"object","properties":{"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string","minLength":1,"maxLength":120,"description":"Stage name, unique within its pipeline."},"probability":{"type":"integer","minimum":0,"maximum":100,"description":"Win probability of deals in this stage, in percent (0-100)."},"position":{"description":"Zero-based display position. Omitted appends the stage at the end.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["pipelineId","name","probability"]},"OperationDealsPipelinesStagesCreateOutput":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline stage id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based order within the pipeline."},"probability":{"type":"integer","minimum":0,"maximum":100},"won":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."},"lost":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."}},"required":["createdAt","updatedAt","pipelineId","id","name","position","probability","won","lost"],"additionalProperties":false},"OperationDealsPipelinesStagesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","PIPELINE_NOT_FOUND","STAGE_NAME_TAKEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsPipelinesStagesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateErrorDefinitionSchema0"}}]},"OperationDealsPipelinesStagesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateErrorDefinitionSchema1"}}]},"OperationDealsPipelinesStagesDeleteInput":{"type":"object","properties":{"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline stage id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"moveDealsToStageId":{"description":"Other stage that receives every deal of this stage (open, won, lost and archived). Required when any deal references the stage.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["pipelineId","stageId"]},"OperationDealsPipelinesStagesDeleteOutput":{"type":"object","properties":{},"additionalProperties":false},"OperationDealsPipelinesStagesDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STAGE_NOT_FOUND","LAST_OPEN_STAGE","STAGE_HAS_DEALS","REPLACEMENT_STAGE_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsPipelinesStagesDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteErrorDefinitionSchema0"}}]},"OperationDealsPipelinesStagesDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteErrorDefinitionSchema1"}}]},"OperationDealsPipelinesStagesUpdateInput":{"type":"object","properties":{"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline stage id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string","minLength":1,"maxLength":120,"description":"Stage name, unique within its pipeline."},"probability":{"type":"integer","minimum":0,"maximum":100,"description":"Win probability of deals in this stage, in percent (0-100)."}},"required":["pipelineId","stageId"]},"OperationDealsPipelinesStagesUpdateOutput":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline stage id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based order within the pipeline."},"probability":{"type":"integer","minimum":0,"maximum":100},"won":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."},"lost":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."}},"required":["createdAt","updatedAt","pipelineId","id","name","position","probability","won","lost"],"additionalProperties":false},"OperationDealsPipelinesStagesUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STAGE_NOT_FOUND","STAGE_NAME_TAKEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsPipelinesStagesUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateErrorDefinitionSchema0"}}]},"OperationDealsPipelinesStagesUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateErrorDefinitionSchema1"}}]},"OperationDealsPipelinesUpdateInput":{"type":"object","properties":{"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string","minLength":1,"maxLength":120,"description":"Pipeline name, unique within the account."},"default":{"description":"true makes this pipeline the account default; the previous default is cleared.","type":"boolean","enum":[true]},"stageOrder":{"description":"Every stage id of the pipeline exactly once, in the new display order. Read the current order with deals.pipelines.get.","minItems":1,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline stage id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}}}},"required":["pipelineId"]},"OperationDealsPipelinesUpdateOutput":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"default":{"type":"boolean"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"Whether the caller may change this pipeline and its stages."}},"required":["canManage"],"additionalProperties":false},"stages":{"type":"array","items":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline stage id.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based order within the pipeline."},"probability":{"type":"integer","minimum":0,"maximum":100},"won":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."},"lost":{"type":"boolean","description":"Import hint only; a deal outcome is set with deal operations."},"dealCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Deals referencing this stage, including won, lost and archived deals."}},"required":["createdAt","updatedAt","pipelineId","id","name","position","probability","won","lost","dealCount"],"additionalProperties":false},"description":"Stages ordered by position, with deal counts."}},"required":["createdAt","updatedAt","id","name","default","position","capabilities","stages"],"additionalProperties":false},"OperationDealsPipelinesUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","PIPELINE_NOT_FOUND","PIPELINE_NAME_TAKEN","STAGE_ORDER_MISMATCH"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsPipelinesUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateErrorDefinitionSchema0"}}]},"OperationDealsPipelinesUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateErrorDefinitionSchema1"}}]},"OperationDealsRevenueGetInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"recordsLimit":{"default":25,"description":"Most recent linked contracts and offers to list (each); totals always cover all linked records.","type":"integer","minimum":1,"maximum":100}},"required":["dealId"]},"OperationDealsRevenueGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of the deal (same as dealId).","x-moreflow-reference":{"resolver":"deals.get"}},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"totals":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":3,"maxLength":3},"signed":{"type":"object","properties":{"netCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"grossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"recordCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["netCents","grossCents","recordCount"],"additionalProperties":false,"description":"Committed revenue: linked contracts that are signed and not cancelled, declined, withdrawn, expired or deleted, plus linked accepted offers that generated no contract (an offer’s generated contract is the commitment and counts once signed)."},"collected":{"type":"object","properties":{"cents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Gross money received net of refunds."},"refundedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"paymentCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["cents","refundedCents","paymentCount"],"additionalProperties":false,"description":"Received revenue: succeeded payments minus their refunds, plus the unrefunded part of refunded payments. A payment belongs to the deal of its contract (directly, through its invoice or installment plan contract), else to the deal of the offer that generated it or its invoice."}},"required":["currency","signed","collected"],"additionalProperties":false},"description":"Signed and collected revenue per currency, sorted by currency; empty when nothing is linked."},"contracts":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"contract id","x-moreflow-reference":{"resolver":"contracts.get"}},"title":{"type":"string"},"status":{"type":"string","enum":["draft","sent","delivered","delivery_delayed","complained","bounced","opened","clicked","viewed","signed","withdrawn","declined","paid","email_delivery_failed","sms_delivery_failed","cancelled","warning_sent","debt_collection_in_progress","debt_collection_completed","external_payment","expired"]},"currency":{"type":"string","minLength":3,"maxLength":3},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"signedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","title","status","currency","totalNetCents","totalGrossCents","signedAt","createdAt"],"additionalProperties":false}},"truncated":{"type":"boolean","description":"True when more linked contracts exist than the returned items."}},"required":["items","truncated"],"additionalProperties":false},"offers":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"offer id","x-moreflow-reference":{"resolver":"offers.get"}},"title":{"type":"string"},"status":{"type":"string","enum":["draft","sent","viewed","accepted","declined","expired","cancelled"]},"currency":{"type":"string","minLength":3,"maxLength":3},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"acceptedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"generatedContractId":{"nullable":true,"x-moreflow-reference":{"resolver":"contracts.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Contract the offer generated, if any; it carries the same deal."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","title","status","currency","totalNetCents","totalGrossCents","acceptedAt","generatedContractId","createdAt"],"additionalProperties":false}},"truncated":{"type":"boolean","description":"True when more linked offers exist than the returned items."}},"required":["items","truncated"],"additionalProperties":false}},"required":["id","dealId","totals","contracts","offers"],"additionalProperties":false},"OperationDealsRevenueGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsRevenueGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsRevenueGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsRevenueGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsRevenueGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsRevenueGetErrorDefinitionSchema0"}}]},"OperationDealsRevenueGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsRevenueGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsRevenueGetErrorDefinitionSchema1"}}]},"OperationDealsSettingsGetInput":{"type":"object","properties":{}},"OperationDealsSettingsGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["settings"],"description":"The account deal settings singleton."},"defaultPipelineId":{"nullable":true,"description":"The default pipeline, else the first pipeline; null when none exist.","x-moreflow-reference":{"resolver":"deals.pipelines.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"pipelineCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"canManageSettings":{"type":"boolean","description":"Whether the caller may change deal settings."},"canManagePipelines":{"type":"boolean","description":"Whether the caller may manage pipelines and stages."},"canCreateDeals":{"type":"boolean","description":"Whether the caller may create deals."},"canManageAllDeals":{"type":"boolean","description":"Whether the caller may change any deal, not only its own."}},"required":["canManageSettings","canManagePipelines","canCreateDeals","canManageAllDeals"],"additionalProperties":false}},"required":["id","defaultPipelineId","pipelineCount","capabilities"],"additionalProperties":false},"OperationDealsSettingsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSettingsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsSettingsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsSettingsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsSettingsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSettingsGetErrorDefinitionSchema0"}}]},"OperationDealsSettingsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsSettingsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSettingsGetErrorDefinitionSchema1"}}]},"OperationDealsSourceUpdateInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The deal version from deals.get."},"sourceTouchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"A touchpoint of the deal’s client (clients.touchpoints.list) to credit, or null to record that the deal has no marketing source. Either way the source becomes manual.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["dealId","expectedVersion","sourceTouchpointId"]},"OperationDealsSourceUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false},"OperationDealsSourceUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","VERSION_CONFLICT","DEAL_ARCHIVED","DEAL_HAS_NO_CLIENT","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSourceUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsSourceUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsSourceUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsSourceUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSourceUpdateErrorDefinitionSchema0"}}]},"OperationDealsSourceUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsSourceUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSourceUpdateErrorDefinitionSchema1"}}]},"OperationDealsSourceReportGetInput":{"type":"object","properties":{"dateFrom":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Window start (inclusive), ISO instant. Deals created at or after it count as created; deals won (closedAt) at or after it count as won."},"dateTo":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Window end (exclusive), ISO instant; after dateFrom and at most 370 days later."},"model":{"description":"Which touch gets the credit. deal_touch (default): the touch stored on the deal when it was credited (its client’s latest touch at or before the deal’s creation) or set manually. first_touch: the client’s first touch at or before the deal’s creation. Deals without a touch under the model are untracked.","type":"string","enum":["deal_touch","first_touch"]},"groupBy":{"description":"channel (default): one row per acquisition channel (google, meta, tiktok, form, ...). campaign: one row per channel and campaign (campaign id, else campaign name).","type":"string","enum":["channel","campaign"]},"channel":{"description":"Only deals credited to this channel key (and its ad spend); the untracked row is left out.","type":"string","minLength":1,"maxLength":100},"currency":{"description":"Report currency (ISO 4217). Money fields add only deal amounts, payments and ad spend in this currency; other currencies are listed in otherCurrencies. Defaults to EUR.","type":"string","pattern":"^[A-Z]{3}$"},"drillDown":{"description":"Also return the deals of one row, newest first, at most 200.","type":"object","properties":{"key":{"nullable":true,"description":"A row key from rows[].key; null selects the untracked row.","type":"string","minLength":1,"maxLength":400}},"required":["key"]}},"required":["dateFrom","dateTo"]},"OperationDealsSourceReportGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["sourceReport"]},"model":{"type":"string","enum":["deal_touch","first_touch"]},"groupBy":{"type":"string","enum":["channel","campaign"]},"currency":{"type":"string"},"window":{"type":"object","properties":{"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["from","to"],"additionalProperties":false},"spendDays":{"type":"object","properties":{"startDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"endDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["startDate","endDate"],"additionalProperties":false,"description":"Calendar days (account time zone, inclusive) whose persisted ad spend is reported."},"rows":{"type":"array","items":{"type":"object","properties":{"dealsCreated":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Deals created in the window (any currency)."},"wonDeals":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Deals won with a close date in the window (any currency), whenever they were created."},"wonValueCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Deal amount of the won deals, report currency only."},"openPipelineCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Deal amount of the deals created in the window that are still open, report currency only."},"collectedRevenueCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Money collected to date (succeeded payments net of refunds) on the contracts and offers linked to the row’s deals (created or won in the window), including their invoices and installment plans; report currency only."},"spendCents":{"nullable":true,"description":"Persisted ad spend of the window’s calendar days (account time zone) in the report currency: the provider total on a channel row, the campaign’s spend on a campaign row, spend not split by campaign on the channel’s none campaign. Null for organic channels and the untracked row.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"costPerWonDealCents":{"nullable":true,"description":"spendCents / wonDeals, rounded; null without spend or won deals.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"roas":{"nullable":true,"description":"Deal-based ROAS: collectedRevenueCents / spendCents; null without spend.","type":"number"},"wonValueRoas":{"nullable":true,"description":"wonValueCents / spendCents; null without spend.","type":"number"},"key":{"nullable":true,"description":"Row key to pass back as drillDown.key: <channel> or <channel>:<campaign>; null for the untracked row.","type":"string"},"untracked":{"type":"boolean","description":"Deals without a touch under the chosen model."},"channel":{"nullable":true,"description":"Acquisition channel key; none when the touch named no channel; null for the untracked row.","type":"string"},"campaign":{"nullable":true,"description":"Campaign of a campaign row; null when grouped by channel and for the untracked row.","type":"object","properties":{"key":{"type":"string","description":"Normalised campaign id, else campaign name; none without a campaign."},"id":{"nullable":true,"description":"Ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"name":{"nullable":true,"description":"Ad platform campaign name, else utm_campaign.","type":"string"}},"required":["key","id","name"],"additionalProperties":false}},"required":["dealsCreated","wonDeals","wonValueCents","openPipelineCents","collectedRevenueCents","spendCents","costPerWonDealCents","roas","wonValueRoas","key","untracked","channel","campaign"],"additionalProperties":false},"description":"Tracked rows by won value, then collected revenue, deals and spend; the untracked row last."},"totals":{"type":"object","properties":{"dealsCreated":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Deals created in the window (any currency)."},"wonDeals":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Deals won with a close date in the window (any currency), whenever they were created."},"wonValueCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Deal amount of the won deals, report currency only."},"openPipelineCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Deal amount of the deals created in the window that are still open, report currency only."},"collectedRevenueCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Money collected to date (succeeded payments net of refunds) on the contracts and offers linked to the row’s deals (created or won in the window), including their invoices and installment plans; report currency only."},"spendCents":{"nullable":true,"description":"Persisted ad spend of the window’s calendar days (account time zone) in the report currency: the provider total on a channel row, the campaign’s spend on a campaign row, spend not split by campaign on the channel’s none campaign. Null for organic channels and the untracked row.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"costPerWonDealCents":{"nullable":true,"description":"spendCents / wonDeals, rounded; null without spend or won deals.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"roas":{"nullable":true,"description":"Deal-based ROAS: collectedRevenueCents / spendCents; null without spend.","type":"number"},"wonValueRoas":{"nullable":true,"description":"wonValueCents / spendCents; null without spend.","type":"number"}},"required":["dealsCreated","wonDeals","wonValueCents","openPipelineCents","collectedRevenueCents","spendCents","costPerWonDealCents","roas","wonValueRoas"],"additionalProperties":false,"description":"Sums of the rows; the ratios are computed from the sums."},"coverage":{"type":"object","properties":{"creditedDeals":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalDeals":{"type":"integer","minimum":0,"maximum":9007199254740991},"percent":{"nullable":true,"description":"creditedDeals / totalDeals × 100, one decimal; null without deals.","type":"number","minimum":0,"maximum":100}},"required":["creditedDeals","totalDeals","percent"],"additionalProperties":false,"description":"Deals of the window (created or won in it) with a touch under the model, before the channel filter."},"otherCurrencies":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string"},"wonValueCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"openPipelineCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"collectedRevenueCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["currency","wonValueCents","openPipelineCents","collectedRevenueCents"],"additionalProperties":false},"description":"Money in other currencies, left out of every money field and never converted."},"truncated":{"type":"boolean","description":"True when the window holds more than 10000 deals; only the oldest are reported. Narrow the window."},"drillDown":{"nullable":true,"description":"The deals of drillDown.key; null when no drill-down was requested.","type":"object","properties":{"key":{"nullable":true,"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"status":{"type":"string","enum":["open","won","lost"]},"amountCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdInWindow":{"type":"boolean"},"wonInWindow":{"type":"boolean"},"collectedRevenueCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Collected to date on the deal’s linked records, report currency only."},"touch":{"nullable":true,"description":"The touch the model credits; null for an untracked deal.","type":"object","properties":{"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when only the deal’s snapshot remains.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"channel":{"nullable":true,"type":"string"},"campaignId":{"nullable":true,"description":"Ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"type":"string"}},"required":["touchpointId","occurredAt","channel","campaignId","campaignName"],"additionalProperties":false}},"required":["dealId","title","clientId","status","amountCents","currency","createdAt","closedAt","createdInWindow","wonInWindow","collectedRevenueCents","touch"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["key","items","truncated"],"additionalProperties":false}},"required":["id","model","groupBy","currency","window","spendDays","rows","totals","coverage","otherCurrencies","truncated","drillDown"],"additionalProperties":false},"OperationDealsSourceReportGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSourceReportGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsSourceReportGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsSourceReportGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsSourceReportGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSourceReportGetErrorDefinitionSchema0"}}]},"OperationDealsSourceReportGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsSourceReportGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSourceReportGetErrorDefinitionSchema1"}}]},"OperationDealsStageBatchUpdateInput":{"type":"object","properties":{"deals":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["dealId","expectedVersion"],"additionalProperties":false}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["deals","stageId"],"additionalProperties":false},"OperationDealsStageBatchUpdateOutput":{"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"status":{"type":"string","enum":["succeeded"]},"deal":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false}},"required":["dealId","status","deal"],"additionalProperties":false},{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"status":{"type":"string","enum":["failed"]},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateOutputDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateOutputDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateOutputDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false}},"required":["dealId","status","error"],"additionalProperties":false}]}}},"required":["items"],"additionalProperties":false},"OperationDealsStageBatchUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateOutputDefinitionSchema0"}}]},"OperationDealsStageBatchUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","VERSION_CONFLICT","DEAL_ARCHIVED","DEAL_NOT_OPEN","STAGE_NOT_IN_PIPELINE","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsStageBatchUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateErrorDefinitionSchema0"}}]},"OperationDealsStageBatchUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateErrorDefinitionSchema1"}}]},"OperationDealsStageUpdateInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}}},"required":["dealId","expectedVersion","stageId"],"additionalProperties":false},"OperationDealsStageUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false},"OperationDealsStageUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","VERSION_CONFLICT","DEAL_ARCHIVED","STAGE_NOT_IN_PIPELINE","DEAL_NOT_OPEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsStageUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsStageUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageUpdateErrorDefinitionSchema0"}}]},"OperationDealsStageUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsStageUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsStageUpdateErrorDefinitionSchema1"}}]},"OperationDealsSummaryGetInput":{"type":"object","properties":{"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Pipeline to report on. Defaults to the default pipeline, else the first pipeline by position.","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"owner":{"anyOf":[{"type":"string","enum":["me"],"description":"Only deals owned by the calling user."},{"type":"string","enum":["unassigned"],"description":"Only deals without an owner."},{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"description":"Only deals owned by one of these account members."}]}}},"OperationDealsSummaryGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["summary"]},"pipelineId":{"nullable":true,"x-moreflow-reference":{"resolver":"deals.pipelines.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id"},"stages":{"type":"array","items":{"type":"object","properties":{"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Open, non-archived deals in this stage."},"byCurrency":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":1},"openAmountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"weightedAmountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Open amount times stage probability, rounded to cents."}},"required":["currency","openAmountCents","weightedAmountCents"],"additionalProperties":false}}},"required":["stageId","name","probability","count","byCurrency"],"additionalProperties":false},"description":"Pipeline stages in position order, including empty stages."},"totals":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"byCurrency":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":1},"openAmountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"weightedAmountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Open amount times stage probability, rounded to cents."}},"required":["currency","openAmountCents","weightedAmountCents"],"additionalProperties":false}}},"required":["count","byCurrency"],"additionalProperties":false},"winRate":{"type":"object","properties":{"won":{"type":"integer","minimum":0,"maximum":9007199254740991},"lost":{"type":"integer","minimum":0,"maximum":9007199254740991},"rate":{"nullable":true,"description":"won / (won + lost) over deals closed in the last 90 account-local days; null without closed deals.","type":"number","minimum":0,"maximum":1}},"required":["won","lost","rate"],"additionalProperties":false},"staleCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Open deals in their current stage for at least 14 days."},"overdueCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Open deals whose expected close date is before today."}},"required":["id","pipelineId","stages","totals","winRate","staleCount","overdueCount"],"additionalProperties":false},"OperationDealsSummaryGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSummaryGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsSummaryGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsSummaryGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsSummaryGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSummaryGetErrorDefinitionSchema0"}}]},"OperationDealsSummaryGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsSummaryGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsSummaryGetErrorDefinitionSchema1"}}]},"OperationDealsUpdateInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"title":{"type":"string","minLength":1,"maxLength":200},"description":{"nullable":true,"type":"string","maxLength":5000},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"customFields":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"]}}},"required":["dealId","expectedVersion"],"additionalProperties":false},"OperationDealsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false},"OperationDealsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND","VERSION_CONFLICT","DEAL_ARCHIVED","CLIENT_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsUpdateErrorDefinitionSchema0"}}]},"OperationDealsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsUpdateErrorDefinitionSchema1"}}]},"OperationDealsWorkItemsGetInput":{"type":"object","properties":{"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"notesLimit":{"default":25,"description":"Most recent linked notes to return; notes.totalCount always counts all of them.","type":"integer","minimum":1,"maximum":100}},"required":["dealId"]},"OperationDealsWorkItemsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of the deal the work items belong to (same as deal.id).","x-moreflow-reference":{"resolver":"deals.get"}},"deal":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"deal id","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["open","won","lost"]},"lostReasonCode":{"nullable":true,"type":"string","enum":["no_budget","no_need","bad_timing","went_with_competitor","unresponsive","not_decision_maker","price","other"]},"lostReasonText":{"nullable":true,"type":"string"},"amountCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expectedCloseDate":{"nullable":true,"type":"string"},"closedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stageEnteredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pipelineId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"stageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"ownerUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"stage":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"pipeline stage id","x-moreflow-reference":{"resolver":"deals.pipelines.get"}},"name":{"type":"string"},"probability":{"type":"integer","minimum":0,"maximum":100}},"required":["id","name","probability"],"additionalProperties":false},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"owner":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"displayName":{"type":"string"}},"required":["id","displayName"],"additionalProperties":false},"ownerName":{"nullable":true,"type":"string"},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextStep":{"nullable":true,"type":"object","properties":{"followUpId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"title":{"type":"string"}},"required":["followUpId","dueAt","title"],"additionalProperties":false},"workCounts":{"type":"object","properties":{"notes":{"type":"integer","minimum":0,"maximum":9007199254740991},"openFollowUps":{"type":"integer","minimum":0,"maximum":9007199254740991},"comments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["notes","openFollowUps","comments"],"additionalProperties":false},"customFields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","textarea","number","date","email","phone_number","address","country","dropdown","select","boolean","currency","url","team_member"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"valueId":{"nullable":true,"type":"string"}},"required":["id"],"additionalProperties":false}},"source":{"type":"object","properties":{"status":{"type":"string","enum":["credited","untracked","manual"],"description":"credited: the deal was credited to its client’s latest touch at or before its creation. untracked: the client had no touch at or before then. manual: a caller set or cleared the source (deals.source.update or sourceTouchpointId on deals.create)."},"touchpointId":{"nullable":true,"x-moreflow-reference":{"resolver":"clients.touchpoints.get"},"description":"The credited ledger touchpoint; null when untracked, cleared, or the touchpoint was deleted (the snapshot stays).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"touch":{"nullable":true,"description":"Null when untracked or when a manual source was cleared.","type":"object","properties":{"touchType":{"type":"string","enum":["form_entry","slot_reservation","chatbot_conversation","ad_lead","import","manual","whatsapp_message","phone_call","checkout"],"description":"Record that produced the touch: form_entry (form submission), slot_reservation (booking), chatbot_conversation (chatbot lead), ad_lead (ad platform lead form), import, manual, whatsapp_message, phone_call or checkout."},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the credited touch happened."},"channel":{"nullable":true,"description":"Acquisition channel of the touch (google, meta, tiktok, form, website, ...); null without evidence.","type":"string"},"leadSource":{"nullable":true,"description":"Lead source the capture path reported.","type":"string"},"campaignId":{"nullable":true,"description":"Campaign key for reports: the ad platform campaign id, else utm_campaignid.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"campaignName":{"nullable":true,"description":"Campaign name: the ad platform campaign name, else utm_campaign.","type":"string"},"utm":{"type":"object","properties":{"source":{"nullable":true,"description":"utm_source","type":"string"},"medium":{"nullable":true,"description":"utm_medium","type":"string"},"campaign":{"nullable":true,"description":"utm_campaign","type":"string"},"campaignId":{"nullable":true,"description":"utm_campaignid","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["source","medium","campaign","campaignId"],"additionalProperties":false},"ad":{"type":"object","properties":{"provider":{"nullable":true,"description":"Ad platform of the provider ids.","type":"string","enum":["google","meta","tiktok"]},"adGroupId":{"nullable":true,"description":"Provider ad group (Meta ad set) id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"},"adId":{"nullable":true,"description":"Provider ad id.","x-moreflow-opaque":{"reason":"Ad platform identifier; read it in the provider’s ads manager."},"type":"string"}},"required":["provider","adGroupId","adId"],"additionalProperties":false},"clickIds":{"type":"object","properties":{"gclid":{"nullable":true,"type":"string"},"gbraid":{"nullable":true,"type":"string"},"wbraid":{"nullable":true,"type":"string"},"fbclid":{"nullable":true,"type":"string"},"fbc":{"nullable":true,"type":"string"},"ttclid":{"nullable":true,"type":"string"},"ctwaClid":{"nullable":true,"description":"WhatsApp click-to-chat ad click id.","type":"string"}},"required":["gclid","gbraid","wbraid","fbclid","fbc","ttclid","ctwaClid"],"additionalProperties":false,"description":"Ad click identifiers captured with the touch.","x-moreflow-opaque":{"reason":"Ad platform click identifiers (URL parameters), not moreflow resources."}}},"required":["touchType","occurredAt","channel","leadSource","campaignId","campaignName","utm","ad","clickIds"],"additionalProperties":false}},"required":["status","touchpointId","touch"],"additionalProperties":false,"description":"The touch credited with producing the deal."},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canMove":{"type":"boolean"},"canChangeOutcome":{"type":"boolean"},"canChangeOwner":{"type":"boolean"},"canArchive":{"type":"boolean"}},"required":["canEdit","canMove","canChangeOutcome","canChangeOwner","canArchive"],"additionalProperties":false}},"required":["id","title","description","status","lostReasonCode","lostReasonText","amountCents","currency","expectedCloseDate","closedAt","stageEnteredAt","version","pipelineId","stageId","clientId","ownerUserId","stage","client","owner","ownerName","archivedAt","createdAt","updatedAt","customFields","capabilities"],"additionalProperties":false},"nextStep":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore"],"additionalProperties":false},"followUps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"visibility":{"type":"string","enum":["private","assigned","global"]},"type":{"type":"string","enum":["call","email","meeting","task"],"description":"What the follow-up is for: call, email, meeting or task."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Urgency of the follow-up: low, normal or high."},"assignedToUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"followUpAt":{"type":"string"},"note":{"nullable":true,"type":"string"},"sourceNoteId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client note this follow-up was created from."},"dealId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM deal of the same client this record is linked to.","x-moreflow-reference":{"resolver":"deals.get"}},"repeatRule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly","every_n_days"]},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"intervalDays":{"type":"integer","minimum":1,"maximum":365},"dayOfMonth":{"type":"integer","minimum":1,"maximum":31},"untilDate":{"type":"string"},"occurrenceCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["frequency"],"additionalProperties":false},"occurrenceNumber":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1-based position of this occurrence in its repeat series."},"skipped":{"type":"boolean","description":"True when this occurrence was skipped instead of done; it is also completed."},"completed":{"type":"boolean"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourcePhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Missed inbound phone call that opened this follow-up. Null for follow-ups not opened by a missed call. The same follow-up stays open until the client is reached, so later missed calls attach to it rather than opening a new one."},"completedByPhoneCallId":{"nullable":true,"x-moreflow-reference":{"resolver":"phone.calls.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Phone call whose answer reached the client and completed this missed-call follow-up. Null when it was completed manually or is still open."},"missedCall":{"nullable":true,"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Missed inbound calls from the client since the call that opened this follow-up, that call included, up to completion (or up to now while open)."},"lastMissedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the latest of those missed calls happened. Equals the opening call time when there is only one missed call."},"voicemailId":{"nullable":true,"description":"Newest voicemail the caller left on those missed calls, or null when none was left.","x-moreflow-reference":{"resolver":"phone.voicemails.getById"},"type":"string"},"callbackAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbound calls to the client from the opening call up to completion (or up to now while open): callbacks the team placed."}},"required":["attempts","lastMissedAt","voicemailId","callbackAttempts"],"additionalProperties":false,"description":"Missed-call history of a follow-up opened by a missed inbound call; null for every other follow-up. Read-only and derived on each read, never stored."},"deleted":{"type":"boolean"},"deletedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"completedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"deletedByUser":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false},"assignedToUsers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"name":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}},"required":["id","email"],"additionalProperties":false}},"canEdit":{"type":"boolean"},"canComplete":{"type":"boolean"},"canDelete":{"type":"boolean"},"canRestore":{"type":"boolean"}},"required":["id","clientId","visibility","type","priority","assignedToUserIds","followUpAt","note","sourceNoteId","repeatRule","occurrenceNumber","skipped","completed","completedAt","sourcePhoneCallId","completedByPhoneCallId","missedCall","deleted","deletedAt","createdAt","updatedAt","createdByUser","completedByUser","deletedByUser","assignedToUsers","canEdit","canComplete","canDelete","canRestore"],"additionalProperties":false}},"notes":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"note id"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client owning this note."},"dealId":{"description":"Deal of the same client this note is about, if any.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"deals.get"}},"title":{"default":null,"nullable":true,"type":"string"},"contentPreview":{"default":null,"nullable":true,"type":"string"},"importedAuthor":{"default":null,"nullable":true,"type":"string"},"sourceProvider":{"default":null,"nullable":true,"type":"string"},"noteType":{"type":"string","description":"Note type."},"pinnedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentionedUserIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Account users mentioned in the note."},"editedByUserIds":{"x-moreflow-reference":{"resolver":"users.memberships.batchGet"},"description":"Account users who changed the note title or body, most recent editor first. Mentions are not edits.","type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC timestamp when the note was last updated."},"deletedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pinned":{"type":"boolean"},"draft":{"type":"boolean"},"deleted":{"type":"boolean"}},"required":["id","clientId","title","contentPreview","importedAuthor","sourceProvider","noteType","pinnedAt","mentionedUserIds","createdAt","updatedAt","deletedAt","pinned","draft","deleted"],"additionalProperties":false}},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean","description":"True when more linked notes exist than the returned items."}},"required":["items","totalCount","truncated"],"additionalProperties":false}},"required":["id","deal","nextStep","followUps","notes"],"additionalProperties":false},"OperationDealsWorkItemsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DEAL_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDealsWorkItemsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetErrorDefinitionSchema0"}}]},"OperationDealsWorkItemsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetErrorDefinitionSchema1"}}]},"OperationDomainsDnsDelegationGetInput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}}},"required":["zoneId"]},"OperationDomainsDnsDelegationGetOutput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"domain":{"type":"string"},"status":{"type":"string","enum":["pending_delegation","active","moved"],"description":"pending_delegation: nameservers not switched yet; active: moreflow answers for the domain; moved: the nameservers point elsewhere again."},"assignedNameservers":{"type":"array","items":{"type":"string"},"description":"Set exactly these at the registrar, replacing all current nameservers."},"originalNameservers":{"type":"array","items":{"type":"string"},"description":"Today's nameservers; setting them back undoes the switch."},"reviewComplete":{"type":"boolean","description":"True when domains.dns.zones.review.get found nothing missing and no blocking warning: safe to switch."},"blockingWarnings":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"instructions":{"type":"string","description":"The steps in plain English for an agent; UIs render their own copy from the fields."}},"required":["zoneId","domain","status","assignedNameservers","originalNameservers","reviewComplete","blockingWarnings","instructions"],"additionalProperties":false},"OperationDomainsDnsDelegationGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DNS_ZONE_NOT_FOUND","DNS_PROVIDER_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsDelegationGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetErrorDefinitionSchema0"}}]},"OperationDomainsDnsDelegationGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetErrorDefinitionSchema1"}}]},"OperationDomainsDnsDelegationVerifyInput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["zoneId"]},"OperationDomainsDnsDelegationVerifyOutput":{"type":"object","properties":{"zone":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"domain":{"type":"string"},"provider":{"type":"string","enum":["cloudflare"]},"status":{"type":"string","enum":["pending_delegation","active","moved"],"description":"pending_delegation: nameservers not switched yet; active: moreflow answers for the domain; moved: the nameservers point elsewhere again."},"assignedNameservers":{"type":"array","items":{"type":"string"},"description":"Set exactly these nameservers at the registrar. They differ per zone."},"originalNameservers":{"type":"array","items":{"type":"string"},"description":"The nameservers the domain used before the switch."},"importCapturedAt":{"nullable":true,"description":"When the previous DNS was captured.","type":"string"},"delegationCheckedAt":{"nullable":true,"type":"string"},"activatedAt":{"nullable":true,"type":"string"},"canManage":{"type":"boolean","description":"Whether the caller may change this zone and its records."},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","domain","provider","status","assignedNameservers","originalNameservers","importCapturedAt","delegationCheckedAt","activatedAt","canManage","createdAt","updatedAt"],"additionalProperties":false},"delegated":{"type":"boolean","description":"Public DNS lists exactly the assigned nameservers."},"lookup":{"type":"string","enum":["ok","failed"],"description":"failed: the public NS lookup gave no usable answer; retry."},"observedNameservers":{"type":"array","items":{"type":"string"}},"missing":{"type":"array","items":{"type":"string"},"description":"Assigned nameservers public DNS does not list yet."},"extra":{"type":"array","items":{"type":"string"},"description":"Listed nameservers that are not assigned; remove them at the registrar."},"providerStatus":{"type":"string","enum":["initializing","pending","active","moved","deactivated","unknown"]}},"required":["zone","delegated","lookup","observedNameservers","missing","extra","providerStatus"],"additionalProperties":false},"OperationDomainsDnsDelegationVerifyError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DNS_ZONE_NOT_FOUND","DNS_PROVIDER_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsDelegationVerifyErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyErrorDefinitionSchema0"}}]},"OperationDomainsDnsDelegationVerifyErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyErrorDefinitionSchema1"}}]},"OperationDomainsDnsRecordsCreateInput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"record":{"type":"object","properties":{"type":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","CAA","SRV","NS"],"description":"The record type."},"name":{"type":"string","minLength":1,"maxLength":253,"description":"\"@\" for the domain itself, a label such as \"www\", or a fully qualified name inside the domain."},"content":{"type":"string","minLength":1,"maxLength":4096,"description":"The value; see the record schema for each type."},"ttl":{"default":1,"description":"Seconds (60–86400), or 1 for automatic. Defaults to automatic.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"priority":{"description":"Required for MX and SRV.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"proxied":{"description":"Route web traffic through the provider edge (A, AAAA, CNAME). Defaults to off, so the record answers as written.","type":"boolean"},"comment":{"description":"A note shown next to the record.","type":"string","maxLength":100}},"required":["type","name","content"]},"confirmMailImpact":{"description":"Set true only after the person confirmed the mail impact that DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION described. Required to change or delete MX, SPF, DKIM or DMARC records, or an address SPF depends on.","type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["zoneId","record"]},"OperationDomainsDnsRecordsCreateOutput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"record":{"type":"object","properties":{"id":{"type":"string","description":"The record id at the DNS provider; pass it to update or delete.","x-moreflow-opaque":{"reason":"DNS provider record id; domains.dns.records.list returns it."}},"type":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","CAA","SRV","NS"],"description":"The record type."},"name":{"type":"string","description":"Fully qualified name without trailing dot; the domain itself for the apex."},"content":{"type":"string","description":"The value: an address, a target host, the TXT text, \"flags tag value\" for CAA or \"weight port target\" for SRV."},"ttl":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Seconds; 1 means automatic."},"priority":{"description":"MX and SRV priority; lower is preferred.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"proxied":{"description":"Whether web traffic goes through the provider edge (A, AAAA, CNAME only).","type":"boolean"},"comment":{"type":"string"}},"required":["id","type","name","content","ttl"],"additionalProperties":false},"mailImpact":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["mx","spf","spf_duplicate","dkim","dmarc","dmarc_duplicate","spf_address","mx_host"]},"name":{"type":"string"},"explanation":{"type":"string"}},"required":["kind","name","explanation"],"additionalProperties":false},"description":"The confirmed mail impact of this change; empty when mail was not affected."}},"required":["zoneId","record","mailImpact"],"additionalProperties":false},"OperationDomainsDnsRecordsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DNS_ZONE_NOT_FOUND","DNS_HOSTING_NOT_CONFIGURED","DNS_PROVIDER_UNAVAILABLE","DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","DNS_RECORD_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsRecordsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateErrorDefinitionSchema0"}}]},"OperationDomainsDnsRecordsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateErrorDefinitionSchema1"}}]},"OperationDomainsDnsRecordsDeleteInput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"recordId":{"type":"string","minLength":1,"maxLength":64,"description":"The record id from domains.dns.records.list.","x-moreflow-opaque":{"reason":"DNS provider record id; domains.dns.records.list returns it."}},"confirmMailImpact":{"description":"Set true only after the person confirmed the mail impact that DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION described. Required to change or delete MX, SPF, DKIM or DMARC records, or an address SPF depends on.","type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["zoneId","recordId"]},"OperationDomainsDnsRecordsDeleteOutput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"record":{"type":"object","properties":{"id":{"type":"string","description":"The record id at the DNS provider; pass it to update or delete.","x-moreflow-opaque":{"reason":"DNS provider record id; domains.dns.records.list returns it."}},"type":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","CAA","SRV","NS"],"description":"The record type."},"name":{"type":"string","description":"Fully qualified name without trailing dot; the domain itself for the apex."},"content":{"type":"string","description":"The value: an address, a target host, the TXT text, \"flags tag value\" for CAA or \"weight port target\" for SRV."},"ttl":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Seconds; 1 means automatic."},"priority":{"description":"MX and SRV priority; lower is preferred.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"proxied":{"description":"Whether web traffic goes through the provider edge (A, AAAA, CNAME only).","type":"boolean"},"comment":{"type":"string"}},"required":["id","type","name","content","ttl"],"additionalProperties":false},"mailImpact":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["mx","spf","spf_duplicate","dkim","dmarc","dmarc_duplicate","spf_address","mx_host"]},"name":{"type":"string"},"explanation":{"type":"string"}},"required":["kind","name","explanation"],"additionalProperties":false},"description":"The confirmed mail impact of this change; empty when mail was not affected."}},"required":["zoneId","record","mailImpact"],"additionalProperties":false},"OperationDomainsDnsRecordsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DNS_ZONE_NOT_FOUND","DNS_HOSTING_NOT_CONFIGURED","DNS_PROVIDER_UNAVAILABLE","DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","DNS_RECORD_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsRecordsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteErrorDefinitionSchema0"}}]},"OperationDomainsDnsRecordsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteErrorDefinitionSchema1"}}]},"OperationDomainsDnsRecordsListInput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}}},"required":["zoneId"]},"OperationDomainsDnsRecordsListOutput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"domain":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The record id at the DNS provider; pass it to update or delete.","x-moreflow-opaque":{"reason":"DNS provider record id; domains.dns.records.list returns it."}},"type":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","CAA","SRV","NS"],"description":"The record type."},"name":{"type":"string","description":"Fully qualified name without trailing dot; the domain itself for the apex."},"content":{"type":"string","description":"The value: an address, a target host, the TXT text, \"flags tag value\" for CAA or \"weight port target\" for SRV."},"ttl":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Seconds; 1 means automatic."},"priority":{"description":"MX and SRV priority; lower is preferred.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"proxied":{"description":"Whether web traffic goes through the provider edge (A, AAAA, CNAME only).","type":"boolean"},"comment":{"type":"string"}},"required":["id","type","name","content","ttl"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Always null: every record of the zone is returned.","type":"string"}},"required":["zoneId","domain","items","nextCursor"],"additionalProperties":false},"OperationDomainsDnsRecordsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DNS_ZONE_NOT_FOUND","DNS_HOSTING_NOT_CONFIGURED","DNS_PROVIDER_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsRecordsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListErrorDefinitionSchema0"}}]},"OperationDomainsDnsRecordsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListErrorDefinitionSchema1"}}]},"OperationDomainsDnsRecordsUpdateInput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"recordId":{"type":"string","minLength":1,"maxLength":64,"description":"The record id from domains.dns.records.list.","x-moreflow-opaque":{"reason":"DNS provider record id; domains.dns.records.list returns it."}},"record":{"type":"object","properties":{"type":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","CAA","SRV","NS"],"description":"The record type."},"name":{"type":"string","minLength":1,"maxLength":253,"description":"\"@\" for the domain itself, a label such as \"www\", or a fully qualified name inside the domain."},"content":{"type":"string","minLength":1,"maxLength":4096,"description":"The value; see the record schema for each type."},"ttl":{"default":1,"description":"Seconds (60–86400), or 1 for automatic. Defaults to automatic.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"priority":{"description":"Required for MX and SRV.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"proxied":{"description":"Route web traffic through the provider edge (A, AAAA, CNAME). Defaults to off, so the record answers as written.","type":"boolean"},"comment":{"description":"A note shown next to the record.","type":"string","maxLength":100}},"required":["type","name","content"]},"confirmMailImpact":{"description":"Set true only after the person confirmed the mail impact that DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION described. Required to change or delete MX, SPF, DKIM or DMARC records, or an address SPF depends on.","type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["zoneId","recordId","record"]},"OperationDomainsDnsRecordsUpdateOutput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"record":{"type":"object","properties":{"id":{"type":"string","description":"The record id at the DNS provider; pass it to update or delete.","x-moreflow-opaque":{"reason":"DNS provider record id; domains.dns.records.list returns it."}},"type":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","CAA","SRV","NS"],"description":"The record type."},"name":{"type":"string","description":"Fully qualified name without trailing dot; the domain itself for the apex."},"content":{"type":"string","description":"The value: an address, a target host, the TXT text, \"flags tag value\" for CAA or \"weight port target\" for SRV."},"ttl":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Seconds; 1 means automatic."},"priority":{"description":"MX and SRV priority; lower is preferred.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"proxied":{"description":"Whether web traffic goes through the provider edge (A, AAAA, CNAME only).","type":"boolean"},"comment":{"type":"string"}},"required":["id","type","name","content","ttl"],"additionalProperties":false},"mailImpact":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["mx","spf","spf_duplicate","dkim","dmarc","dmarc_duplicate","spf_address","mx_host"]},"name":{"type":"string"},"explanation":{"type":"string"}},"required":["kind","name","explanation"],"additionalProperties":false},"description":"The confirmed mail impact of this change; empty when mail was not affected."}},"required":["zoneId","record","mailImpact"],"additionalProperties":false},"OperationDomainsDnsRecordsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DNS_ZONE_NOT_FOUND","DNS_HOSTING_NOT_CONFIGURED","DNS_PROVIDER_UNAVAILABLE","DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","DNS_RECORD_NOT_FOUND","DNS_RECORD_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsRecordsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateErrorDefinitionSchema0"}}]},"OperationDomainsDnsRecordsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateErrorDefinitionSchema1"}}]},"OperationDomainsDnsZonesDeleteInput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"confirmDomainStopsResolving":{"description":"Required for an active zone: the person confirmed that the domain, its website and its mail stop resolving until the nameservers point elsewhere.","type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["zoneId"]},"OperationDomainsDnsZonesDeleteOutput":{"type":"object","properties":{"deleted":{"type":"boolean","enum":[true]},"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"domain":{"type":"string"}},"required":["deleted","zoneId","domain"],"additionalProperties":false},"OperationDomainsDnsZonesDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DNS_ZONE_NOT_FOUND","DNS_ZONE_IN_USE","DNS_ZONE_ACTIVE_NEEDS_CONFIRMATION"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsZonesDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteErrorDefinitionSchema0"}}]},"OperationDomainsDnsZonesDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteErrorDefinitionSchema1"}}]},"OperationDomainsDnsZonesExportInput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}}},"required":["zoneId"]},"OperationDomainsDnsZonesExportOutput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"domain":{"type":"string"},"format":{"type":"string","enum":["bind"]},"zoneFile":{"type":"string"}},"required":["zoneId","domain","format","zoneFile"],"additionalProperties":false},"OperationDomainsDnsZonesExportError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DNS_ZONE_NOT_FOUND","DNS_HOSTING_NOT_CONFIGURED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsZonesExportErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportErrorDefinitionSchema0"}}]},"OperationDomainsDnsZonesExportErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportErrorDefinitionSchema1"}}]},"OperationDomainsDnsZonesGetInput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}}},"required":["zoneId"]},"OperationDomainsDnsZonesGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"domain":{"type":"string"},"provider":{"type":"string","enum":["cloudflare"]},"status":{"type":"string","enum":["pending_delegation","active","moved"],"description":"pending_delegation: nameservers not switched yet; active: moreflow answers for the domain; moved: the nameservers point elsewhere again."},"assignedNameservers":{"type":"array","items":{"type":"string"},"description":"Set exactly these nameservers at the registrar. They differ per zone."},"originalNameservers":{"type":"array","items":{"type":"string"},"description":"The nameservers the domain used before the switch."},"importCapturedAt":{"nullable":true,"description":"When the previous DNS was captured.","type":"string"},"delegationCheckedAt":{"nullable":true,"type":"string"},"activatedAt":{"nullable":true,"type":"string"},"canManage":{"type":"boolean","description":"Whether the caller may change this zone and its records."},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","domain","provider","status","assignedNameservers","originalNameservers","importCapturedAt","delegationCheckedAt","activatedAt","canManage","createdAt","updatedAt"],"additionalProperties":false},"OperationDomainsDnsZonesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DNS_ZONE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsZonesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetErrorDefinitionSchema0"}}]},"OperationDomainsDnsZonesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetErrorDefinitionSchema1"}}]},"OperationDomainsDnsZonesImportInput":{"type":"object","properties":{"domain":{"type":"string","minLength":4,"maxLength":253,"description":"The registrable domain, for example example.com (no scheme, path or www)."},"extraNames":{"description":"Host names public DNS cannot list but the domain uses (for example \"shop\" or \"dkim2._domainkey\"); they are read and copied too.","maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":253}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["domain"]},"OperationDomainsDnsZonesImportOutput":{"type":"object","properties":{"zone":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"domain":{"type":"string"},"provider":{"type":"string","enum":["cloudflare"]},"status":{"type":"string","enum":["pending_delegation","active","moved"],"description":"pending_delegation: nameservers not switched yet; active: moreflow answers for the domain; moved: the nameservers point elsewhere again."},"assignedNameservers":{"type":"array","items":{"type":"string"},"description":"Set exactly these nameservers at the registrar. They differ per zone."},"originalNameservers":{"type":"array","items":{"type":"string"},"description":"The nameservers the domain used before the switch."},"importCapturedAt":{"nullable":true,"description":"When the previous DNS was captured.","type":"string"},"delegationCheckedAt":{"nullable":true,"type":"string"},"activatedAt":{"nullable":true,"type":"string"},"canManage":{"type":"boolean","description":"Whether the caller may change this zone and its records."},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","domain","provider","status","assignedNameservers","originalNameservers","importCapturedAt","delegationCheckedAt","activatedAt","canManage","createdAt","updatedAt"],"additionalProperties":false},"review":{"type":"object","properties":{"domain":{"type":"string"},"capturedAt":{"nullable":true,"description":"When public DNS was read for the comparison; null before any capture.","type":"string"},"complete":{"type":"boolean","description":"True when every captured record is in the zone unchanged and no blocking warning remains: safe to switch nameservers."},"entries":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","CAA","SRV","NS"],"description":"The record type."},"status":{"type":"string","enum":["match","missing_in_zone","different","only_in_zone","unverified"],"description":"match: zone equals live DNS; missing_in_zone: live DNS has it, the zone does not; different: both have values that differ; only_in_zone: new after the switch; unverified: the live lookup failed."},"live":{"type":"array","items":{"type":"object","properties":{"content":{"type":"string"},"priority":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"ttl":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"proxied":{"type":"boolean"}},"required":["content"],"additionalProperties":false},"description":"What public DNS answered before the switch."},"zone":{"type":"array","items":{"type":"object","properties":{"content":{"type":"string"},"priority":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"ttl":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"proxied":{"type":"boolean"}},"required":["content"],"additionalProperties":false},"description":"What the managed zone answers after the switch."},"mailRelated":{"type":"boolean"}},"required":["name","type","status","live","zone","mailRelated"],"additionalProperties":false}},"warnings":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["MAIL_RECORD_NOT_CARRIED_OVER","SPF_DEPENDS_ON_APEX_ADDRESS","SPF_DEPENDS_ON_MX","MAIL_HOST_PROXIED","PROXIED_RECORD_CHANGES_ANSWER","LOOKUP_FAILED"]},"severity":{"type":"string","enum":["blocking","warning","info"]},"name":{"type":"string"},"message":{"type":"string"}},"required":["code","severity","name","message"],"additionalProperties":false}},"counts":{"type":"object","properties":{"match":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"missing_in_zone":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"different":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"only_in_zone":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unverified":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["match","missing_in_zone","different","only_in_zone","unverified"],"additionalProperties":false}},"required":["domain","capturedAt","complete","entries","warnings","counts"],"additionalProperties":false},"carriedOver":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Records copied from public DNS into the zone by this call."},"notCarriedOver":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","CAA","SRV","NS"],"description":"The record type."},"content":{"type":"string"},"reason":{"type":"string"}},"required":["name","type","content","reason"],"additionalProperties":false},"description":"Records the provider refused; add them with domains.dns.records.create."},"recaptured":{"type":"boolean","description":"False when the zone is already delegated: public DNS answers from the zone itself, so the earlier capture is kept."}},"required":["zone","review","carriedOver","notCarriedOver","recaptured"],"additionalProperties":false},"OperationDomainsDnsZonesImportError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DNS_DOMAIN_INVALID","DNS_DOMAIN_MANAGED_ELSEWHERE","DNS_ZONE_EXISTS_AT_PROVIDER","DNS_HOSTING_NOT_CONFIGURED","DNS_PROVIDER_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsZonesImportErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportErrorDefinitionSchema0"}}]},"OperationDomainsDnsZonesImportErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportErrorDefinitionSchema1"}}]},"OperationDomainsDnsZonesListInput":{"type":"object","properties":{}},"OperationDomainsDnsZonesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}},"domain":{"type":"string"},"provider":{"type":"string","enum":["cloudflare"]},"status":{"type":"string","enum":["pending_delegation","active","moved"],"description":"pending_delegation: nameservers not switched yet; active: moreflow answers for the domain; moved: the nameservers point elsewhere again."},"assignedNameservers":{"type":"array","items":{"type":"string"},"description":"Set exactly these nameservers at the registrar. They differ per zone."},"originalNameservers":{"type":"array","items":{"type":"string"},"description":"The nameservers the domain used before the switch."},"importCapturedAt":{"nullable":true,"description":"When the previous DNS was captured.","type":"string"},"delegationCheckedAt":{"nullable":true,"type":"string"},"activatedAt":{"nullable":true,"type":"string"},"canManage":{"type":"boolean","description":"Whether the caller may change this zone and its records."},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","domain","provider","status","assignedNameservers","originalNameservers","importCapturedAt","delegationCheckedAt","activatedAt","canManage","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Always null: an account has few zones and the list is complete.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationDomainsDnsZonesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsZonesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListErrorDefinitionSchema0"}}]},"OperationDomainsDnsZonesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListErrorDefinitionSchema1"}}]},"OperationDomainsDnsZonesReviewGetInput":{"type":"object","properties":{"zoneId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The managed DNS zone id from domains.dns.zones.list or domains.dns.zones.import.","x-moreflow-reference":{"resolver":"domains.dns.zones.get"}}},"required":["zoneId"]},"OperationDomainsDnsZonesReviewGetOutput":{"type":"object","properties":{"domain":{"type":"string"},"capturedAt":{"nullable":true,"description":"When public DNS was read for the comparison; null before any capture.","type":"string"},"complete":{"type":"boolean","description":"True when every captured record is in the zone unchanged and no blocking warning remains: safe to switch nameservers."},"entries":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","CAA","SRV","NS"],"description":"The record type."},"status":{"type":"string","enum":["match","missing_in_zone","different","only_in_zone","unverified"],"description":"match: zone equals live DNS; missing_in_zone: live DNS has it, the zone does not; different: both have values that differ; only_in_zone: new after the switch; unverified: the live lookup failed."},"live":{"type":"array","items":{"type":"object","properties":{"content":{"type":"string"},"priority":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"ttl":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"proxied":{"type":"boolean"}},"required":["content"],"additionalProperties":false},"description":"What public DNS answered before the switch."},"zone":{"type":"array","items":{"type":"object","properties":{"content":{"type":"string"},"priority":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"ttl":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"proxied":{"type":"boolean"}},"required":["content"],"additionalProperties":false},"description":"What the managed zone answers after the switch."},"mailRelated":{"type":"boolean"}},"required":["name","type","status","live","zone","mailRelated"],"additionalProperties":false}},"warnings":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["MAIL_RECORD_NOT_CARRIED_OVER","SPF_DEPENDS_ON_APEX_ADDRESS","SPF_DEPENDS_ON_MX","MAIL_HOST_PROXIED","PROXIED_RECORD_CHANGES_ANSWER","LOOKUP_FAILED"]},"severity":{"type":"string","enum":["blocking","warning","info"]},"name":{"type":"string"},"message":{"type":"string"}},"required":["code","severity","name","message"],"additionalProperties":false}},"counts":{"type":"object","properties":{"match":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"missing_in_zone":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"different":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"only_in_zone":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unverified":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["match","missing_in_zone","different","only_in_zone","unverified"],"additionalProperties":false}},"required":["domain","capturedAt","complete","entries","warnings","counts"],"additionalProperties":false},"OperationDomainsDnsZonesReviewGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","DNS_ZONE_NOT_FOUND","DNS_PROVIDER_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationDomainsDnsZonesReviewGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetErrorDefinitionSchema0"}}]},"OperationDomainsDnsZonesReviewGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetErrorDefinitionSchema1"}}]},"OperationEmailCampaignsSequencesEnrollInput":{"type":"object","properties":{"sequenceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Email sequence to enroll the client or audience in."},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client to enroll in the sequence."},"audienceId":{"description":"Saved audience to enroll in the sequence.","type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["sequenceId"]},"OperationEmailCampaignsSequencesEnrollOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sequenceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"enrolled":{"type":"integer","minimum":0,"maximum":9007199254740991},"alreadyEnrolled":{"type":"integer","minimum":0,"maximum":9007199254740991},"skippedUnsubscribed":{"type":"integer","minimum":0,"maximum":9007199254740991},"skippedIneligible":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","sequenceId","enrolled","alreadyEnrolled","skippedUnsubscribed","skippedIneligible"],"additionalProperties":false},"OperationEmailCampaignsSequencesEnrollError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","EMAIL_SEQUENCE_NOT_FOUND","EMAIL_SEQUENCE_PAUSED","EMAIL_SEQUENCE_CLIENT_INELIGIBLE","EMAIL_SEQUENCE_CONSENT_MISSING","EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING","EMAIL_ADDRESS_SUPPRESSED","EMAIL_SEQUENCE_AUDIENCE_REQUIRED","EMAIL_SEQUENCE_AUDIENCE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationEmailCampaignsSequencesEnrollErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollErrorDefinitionSchema0"}}]},"OperationEmailCampaignsSequencesEnrollErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollErrorDefinitionSchema1"}}]},"OperationEmailCampaignsSequencesEnrollmentsDeleteInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Client to remove from the email sequence."},"sequenceId":{"description":"Sequence to stop the client in. Omit to stop every active sequence enrollment of the client.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId"]},"OperationEmailCampaignsSequencesEnrollmentsDeleteOutput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sequenceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"stopped":{"type":"integer","minimum":0,"maximum":9007199254740991},"enrollmentIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"x-moreflow-opaque":{"reason":"Enrollment identifiers are opaque records; they are not resolvable through a read operation."}}},"required":["clientId","stopped","enrollmentIds"],"additionalProperties":false},"OperationEmailCampaignsSequencesEnrollmentsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","EMAIL_SEQUENCE_NOT_FOUND","EMAIL_SEQUENCE_ENROLLMENT_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationEmailCampaignsSequencesEnrollmentsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteErrorDefinitionSchema0"}}]},"OperationEmailCampaignsSequencesEnrollmentsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteErrorDefinitionSchema1"}}]},"OperationFlowMcpCatalogListInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"catalogRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cursor":{"type":"string","maxLength":512},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100}},"required":["connectionId"]},"OperationFlowMcpCatalogListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1},"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"toolId":{"type":"string","minLength":1},"remoteName":{"type":"string","minLength":1,"maxLength":256},"description":{"nullable":true,"type":"string","maxLength":20000},"inputSchema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListOutputDefinitionSchema0"}},"outputSchema":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListOutputDefinitionSchema0"}},"annotations":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListOutputDefinitionSchema0"}},"catalogRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"policy":{"type":"string","enum":["disabled","ask_before_use","allow_automatically"]},"status":{"type":"string","enum":["active","removed"]},"requiresReview":{"type":"boolean"},"createdAt":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1}},"required":["id","accountId","connectionId","toolId","remoteName","description","inputSchema","outputSchema","annotations","catalogRevision","policy","status","requiresReview","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationFlowMcpCatalogListOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListOutputDefinitionSchema0"}}]},"OperationFlowMcpCatalogListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpCatalogListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListErrorDefinitionSchema0"}}]},"OperationFlowMcpCatalogListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListErrorDefinitionSchema1"}}]},"OperationFlowMcpCatalogUpdateInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["connectionId"]},"OperationFlowMcpCatalogUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1},"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"sourceFingerprint":{"type":"string","minLength":1,"maxLength":256},"toolCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["pending","active","superseded","failed"]},"createdByUserId":{"nullable":true,"type":"string","minLength":1},"createdAt":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1},"tools":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1},"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"toolId":{"type":"string","minLength":1},"remoteName":{"type":"string","minLength":1,"maxLength":256},"description":{"nullable":true,"type":"string","maxLength":20000},"inputSchema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateOutputDefinitionSchema0"}},"outputSchema":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateOutputDefinitionSchema0"}},"annotations":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateOutputDefinitionSchema0"}},"catalogRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"policy":{"type":"string","enum":["disabled","ask_before_use","allow_automatically"]},"status":{"type":"string","enum":["active","removed"]},"requiresReview":{"type":"boolean"},"createdAt":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1}},"required":["id","accountId","connectionId","toolId","remoteName","description","inputSchema","outputSchema","annotations","catalogRevision","policy","status","requiresReview","createdAt","updatedAt"],"additionalProperties":false}}},"required":["id","accountId","connectionId","revision","sourceFingerprint","toolCount","status","createdByUserId","createdAt","updatedAt","tools"],"additionalProperties":false},"OperationFlowMcpCatalogUpdateOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateOutputDefinitionSchema0"}}]},"OperationFlowMcpCatalogUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","FLOW_MCP_CONNECTION_NOT_CONNECTED","FLOW_MCP_CREDENTIAL_MISSING","FLOW_MCP_OAUTH_RECONNECT_REQUIRED","FLOW_MCP_OAUTH_REFRESH_FAILED","FLOW_MCP_CATALOG_CURSOR_INVALID","FLOW_MCP_CATALOG_TOO_LARGE","FLOW_MCP_CONNECTION_CONFLICT","FLOW_MCP_CATALOG_REFRESH_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpCatalogUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateErrorDefinitionSchema0"}}]},"OperationFlowMcpCatalogUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateErrorDefinitionSchema1"}}]},"OperationFlowMcpConnectionsCreateInput":{"type":"object","properties":{"connectionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"endpointUrl":{"type":"string","maxLength":2048,"format":"uri"},"displayName":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"authMode":{"type":"string","enum":["none","bearer","secret_headers","oauth2"]},"ownershipMode":{"default":"personal","type":"string","enum":["personal","shared"]},"backgroundUseAllowed":{"default":false,"type":"boolean"}},"required":["endpointUrl","authMode"]},"OperationFlowMcpConnectionsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1},"providerIntegrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"endpointUrl":{"type":"string","maxLength":2048,"format":"uri"},"endpointHost":{"type":"string","minLength":1},"displayName":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"authMode":{"type":"string","enum":["none","bearer","secret_headers","oauth2"]},"issuer":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"resourceUri":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"serverMetadata":{"default":{},"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":2000},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":2000}}]}},"ownerUserId":{"type":"string","minLength":1},"createdByUserId":{"type":"string","minLength":1},"ownershipMode":{"type":"string","enum":["personal","shared"]},"backgroundUseAllowed":{"type":"boolean"},"status":{"type":"string","enum":["pending_auth","connected","paused","reauth_required","disconnected"]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"catalogRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastSuccessAt":{"nullable":true,"type":"string"},"lastErrorCode":{"nullable":true,"type":"string","maxLength":128},"disconnectedAt":{"nullable":true,"type":"string"},"createdAt":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1}},"required":["id","accountId","providerIntegrationId","endpointUrl","endpointHost","displayName","authMode","issuer","resourceUri","serverMetadata","ownerUserId","createdByUserId","ownershipMode","backgroundUseAllowed","status","revision","catalogRevision","lastSuccessAt","lastErrorCode","disconnectedAt","createdAt","updatedAt"],"additionalProperties":false},"OperationFlowMcpConnectionsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","FLOW_MCP_ENDPOINT_UNSAFE","FLOW_MCP_ENDPOINT_CHANGED","FLOW_MCP_AUTH_MODE_MISMATCH","FLOW_MCP_CREDENTIAL_REQUIRED","FLOW_MCP_CONNECTION_CONFLICT","FLOW_MCP_ACTIVATION_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpConnectionsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateErrorDefinitionSchema0"}}]},"OperationFlowMcpConnectionsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateErrorDefinitionSchema1"}}]},"OperationFlowMcpConnectionsListInput":{"type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationFlowMcpConnectionsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1},"providerIntegrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"endpointUrl":{"type":"string","maxLength":2048,"format":"uri"},"endpointHost":{"type":"string","minLength":1},"displayName":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"authMode":{"type":"string","enum":["none","bearer","secret_headers","oauth2"]},"issuer":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"resourceUri":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"serverMetadata":{"default":{},"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":2000},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":2000}}]}},"ownerUserId":{"type":"string","minLength":1},"createdByUserId":{"type":"string","minLength":1},"ownershipMode":{"type":"string","enum":["personal","shared"]},"backgroundUseAllowed":{"type":"boolean"},"status":{"type":"string","enum":["pending_auth","connected","paused","reauth_required","disconnected"]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"catalogRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastSuccessAt":{"nullable":true,"type":"string"},"lastErrorCode":{"nullable":true,"type":"string","maxLength":128},"disconnectedAt":{"nullable":true,"type":"string"},"createdAt":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1},"capabilities":{"type":"object","properties":{"owner":{"type":"boolean"},"canUse":{"type":"boolean"},"canManage":{"type":"boolean"},"canManageSharing":{"type":"boolean"},"canUseInBackground":{"type":"boolean"}},"required":["owner","canUse","canManage","canManageSharing","canUseInBackground"],"additionalProperties":false},"catalog":{"type":"object","properties":{"toolCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"enabledToolCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"pendingReviewCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["toolCount","enabledToolCount","pendingReviewCount"],"additionalProperties":false}},"required":["id","accountId","providerIntegrationId","endpointUrl","endpointHost","displayName","authMode","issuer","resourceUri","serverMetadata","ownerUserId","createdByUserId","ownershipMode","backgroundUseAllowed","status","revision","catalogRevision","lastSuccessAt","lastErrorCode","disconnectedAt","createdAt","updatedAt","capabilities","catalog"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationFlowMcpConnectionsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpConnectionsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListErrorDefinitionSchema0"}}]},"OperationFlowMcpConnectionsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListErrorDefinitionSchema1"}}]},"OperationFlowMcpConnectionsPreviewInput":{"type":"object","properties":{"endpointUrl":{"type":"string","maxLength":2048,"format":"uri"}},"required":["endpointUrl"]},"OperationFlowMcpConnectionsPreviewOutput":{"type":"object","properties":{"id":{"type":"string","format":"uri"},"endpointUrl":{"type":"string","format":"uri"},"endpointHost":{"type":"string","minLength":1},"protocolVersion":{"nullable":true,"type":"string"},"serverInfo":{"type":"object","properties":{"name":{"nullable":true,"type":"string"},"version":{"nullable":true,"type":"string"}},"required":["name","version"],"additionalProperties":false},"capabilities":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewOutputDefinitionSchema0"}},"toolCount":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"unsupportedFeatures":{"type":"array","items":{"type":"string"}}},"required":["id","endpointUrl","endpointHost","protocolVersion","serverInfo","capabilities","toolCount","unsupportedFeatures"],"additionalProperties":false},"OperationFlowMcpConnectionsPreviewOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewOutputDefinitionSchema0"}}]},"OperationFlowMcpConnectionsPreviewError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","FLOW_MCP_INSPECTION_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpConnectionsPreviewErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewErrorDefinitionSchema0"}}]},"OperationFlowMcpConnectionsPreviewErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewErrorDefinitionSchema1"}}]},"OperationFlowMcpConnectionsTestInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["connectionId"]},"OperationFlowMcpConnectionsTestOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1},"providerIntegrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"endpointUrl":{"type":"string","maxLength":2048,"format":"uri"},"endpointHost":{"type":"string","minLength":1},"displayName":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"authMode":{"type":"string","enum":["none","bearer","secret_headers","oauth2"]},"issuer":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"resourceUri":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"serverMetadata":{"default":{},"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":2000},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":2000}}]}},"ownerUserId":{"type":"string","minLength":1},"createdByUserId":{"type":"string","minLength":1},"ownershipMode":{"type":"string","enum":["personal","shared"]},"backgroundUseAllowed":{"type":"boolean"},"status":{"type":"string","enum":["pending_auth","connected","paused","reauth_required","disconnected"]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"catalogRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastSuccessAt":{"nullable":true,"type":"string"},"lastErrorCode":{"nullable":true,"type":"string","maxLength":128},"disconnectedAt":{"nullable":true,"type":"string"},"createdAt":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1},"healthy":{"type":"boolean"}},"required":["id","accountId","providerIntegrationId","endpointUrl","endpointHost","displayName","authMode","issuer","resourceUri","serverMetadata","ownerUserId","createdByUserId","ownershipMode","backgroundUseAllowed","status","revision","catalogRevision","lastSuccessAt","lastErrorCode","disconnectedAt","createdAt","updatedAt","healthy"],"additionalProperties":false},"OperationFlowMcpConnectionsTestError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","FLOW_MCP_CONNECTION_NOT_CONNECTED","FLOW_MCP_CREDENTIAL_MISSING","FLOW_MCP_OAUTH_RECONNECT_REQUIRED","FLOW_MCP_OAUTH_REFRESH_FAILED","FLOW_MCP_CONNECTION_CONFLICT","FLOW_MCP_HEALTH_CHECK_FAILED","FLOW_MCP_CATALOG_PAGE_TOO_LARGE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpConnectionsTestErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestErrorDefinitionSchema0"}}]},"OperationFlowMcpConnectionsTestErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestErrorDefinitionSchema1"}}]},"OperationFlowMcpConnectionsUpdateInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["connectionId"]},"OperationFlowMcpConnectionsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1},"providerIntegrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"endpointUrl":{"type":"string","maxLength":2048,"format":"uri"},"endpointHost":{"type":"string","minLength":1},"displayName":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"authMode":{"type":"string","enum":["none","bearer","secret_headers","oauth2"]},"issuer":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"resourceUri":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"serverMetadata":{"default":{},"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":2000},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":2000}}]}},"ownerUserId":{"type":"string","minLength":1},"createdByUserId":{"type":"string","minLength":1},"ownershipMode":{"type":"string","enum":["personal","shared"]},"backgroundUseAllowed":{"type":"boolean"},"status":{"type":"string","enum":["pending_auth","connected","paused","reauth_required","disconnected"]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"catalogRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastSuccessAt":{"nullable":true,"type":"string"},"lastErrorCode":{"nullable":true,"type":"string","maxLength":128},"disconnectedAt":{"nullable":true,"type":"string"},"createdAt":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1}},"required":["id","accountId","providerIntegrationId","endpointUrl","endpointHost","displayName","authMode","issuer","resourceUri","serverMetadata","ownerUserId","createdByUserId","ownershipMode","backgroundUseAllowed","status","revision","catalogRevision","lastSuccessAt","lastErrorCode","disconnectedAt","createdAt","updatedAt"],"additionalProperties":false},"OperationFlowMcpConnectionsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","FLOW_MCP_RECONNECT_REQUIRED","FLOW_MCP_CREDENTIAL_MISSING","FLOW_MCP_OAUTH_RECONNECT_REQUIRED","FLOW_MCP_OAUTH_REFRESH_FAILED","FLOW_MCP_CONNECTION_CONFLICT","FLOW_MCP_RECONNECT_FAILED","FLOW_MCP_CATALOG_PAGE_TOO_LARGE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpConnectionsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateErrorDefinitionSchema0"}}]},"OperationFlowMcpConnectionsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateErrorDefinitionSchema1"}}]},"OperationFlowMcpConnectionStateUpdateInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["paused","connected","disconnected"]}},"required":["connectionId","status"]},"OperationFlowMcpConnectionStateUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1},"providerIntegrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"endpointUrl":{"type":"string","maxLength":2048,"format":"uri"},"endpointHost":{"type":"string","minLength":1},"displayName":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"authMode":{"type":"string","enum":["none","bearer","secret_headers","oauth2"]},"issuer":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"resourceUri":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"serverMetadata":{"default":{},"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":2000},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":2000}}]}},"ownerUserId":{"type":"string","minLength":1},"createdByUserId":{"type":"string","minLength":1},"ownershipMode":{"type":"string","enum":["personal","shared"]},"backgroundUseAllowed":{"type":"boolean"},"status":{"type":"string","enum":["pending_auth","connected","paused","reauth_required","disconnected"]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"catalogRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastSuccessAt":{"nullable":true,"type":"string"},"lastErrorCode":{"nullable":true,"type":"string","maxLength":128},"disconnectedAt":{"nullable":true,"type":"string"},"createdAt":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1}},"required":["id","accountId","providerIntegrationId","endpointUrl","endpointHost","displayName","authMode","issuer","resourceUri","serverMetadata","ownerUserId","createdByUserId","ownershipMode","backgroundUseAllowed","status","revision","catalogRevision","lastSuccessAt","lastErrorCode","disconnectedAt","createdAt","updatedAt"],"additionalProperties":false},"OperationFlowMcpConnectionStateUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","FLOW_MCP_CONNECTION_DISCONNECTED","FLOW_MCP_REAUTH_REQUIRED","FLOW_MCP_CONNECTION_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpConnectionStateUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateErrorDefinitionSchema0"}}]},"OperationFlowMcpConnectionStateUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateErrorDefinitionSchema1"}}]},"OperationFlowMcpGrantsCreateInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"granteeUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"canUse":{"default":false,"type":"boolean"},"canUseInBackground":{"default":false,"type":"boolean"},"expiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["connectionId","granteeUserId"]},"OperationFlowMcpGrantsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1},"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"granteeUserId":{"type":"string","minLength":1},"grantedByUserId":{"type":"string","minLength":1},"canUse":{"type":"boolean"},"canUseInBackground":{"type":"boolean"},"expiresAt":{"nullable":true,"type":"string"},"revokedAt":{"nullable":true,"type":"string"},"createdAt":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1}},"required":["id","accountId","connectionId","granteeUserId","grantedByUserId","canUse","canUseInBackground","expiresAt","revokedAt","createdAt","updatedAt"],"additionalProperties":false},"OperationFlowMcpGrantsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","FLOW_MCP_SHARING_NOT_ENABLED","FLOW_MCP_GRANT_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpGrantsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateErrorDefinitionSchema0"}}]},"OperationFlowMcpGrantsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateErrorDefinitionSchema1"}}]},"OperationFlowMcpGrantsDeleteInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"grantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["connectionId","grantId"]},"OperationFlowMcpGrantsDeleteOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1},"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"granteeUserId":{"type":"string","minLength":1},"grantedByUserId":{"type":"string","minLength":1},"canUse":{"type":"boolean"},"canUseInBackground":{"type":"boolean"},"expiresAt":{"nullable":true,"type":"string"},"revokedAt":{"nullable":true,"type":"string"},"createdAt":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1}},"required":["id","accountId","connectionId","granteeUserId","grantedByUserId","canUse","canUseInBackground","expiresAt","revokedAt","createdAt","updatedAt"],"additionalProperties":false},"OperationFlowMcpGrantsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpGrantsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteErrorDefinitionSchema0"}}]},"OperationFlowMcpGrantsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteErrorDefinitionSchema1"}}]},"OperationFlowMcpOauthCreateInput":{"type":"object","properties":{"endpointUrl":{"type":"string","maxLength":2048,"format":"uri"},"issuer":{"type":"string","maxLength":2048,"format":"uri"},"resourceUri":{"type":"string","maxLength":2048,"format":"uri"},"authorizationEndpoint":{"type":"string","maxLength":2048,"format":"uri"},"tokenEndpoint":{"type":"string","maxLength":2048,"format":"uri"},"revocationEndpoint":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"clientStrategy":{"type":"string","enum":["client_metadata","pre_registered","dynamic_registration"]},"clientId":{"type":"string","minLength":1,"maxLength":512},"clientMetadataUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"authorizationResponseIssParameterSupported":{"type":"boolean"},"registrationEndpoint":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"clientName":{"type":"string","minLength":1,"maxLength":200},"setupDraftId":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"connectionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scopes":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":256}},"continuationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"integrations.connections.continuation.get"}},"returnUrl":{"type":"string","maxLength":2048}}},"OperationFlowMcpOauthCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"connectionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actorUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"endpointUrl":{"type":"string","format":"uri"},"endpointHost":{"type":"string"},"issuer":{"nullable":true,"type":"string","format":"uri"},"resourceUri":{"nullable":true,"type":"string","format":"uri"},"authorizationEndpoint":{"type":"string","format":"uri"},"tokenEndpoint":{"type":"string","format":"uri"},"revocationEndpoint":{"nullable":true,"type":"string","format":"uri"},"redirectUri":{"type":"string","format":"uri"},"setupDraftId":{"nullable":true,"type":"string"},"continuationId":{"nullable":true,"x-moreflow-reference":{"resolver":"integrations.connections.continuation.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"returnUrl":{"nullable":true,"type":"string"},"stateHash":{"type":"string"},"codeChallenge":{"type":"string"},"codeChallengeMethod":{"type":"string","enum":["S256"]},"clientStrategy":{"type":"string","enum":["client_metadata","pre_registered","dynamic_registration"]},"clientId":{"type":"string"},"clientMetadataUrl":{"nullable":true,"type":"string","format":"uri"},"authorizationResponseIssParameterSupported":{"type":"boolean"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"usedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cancelledAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failureCode":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"authorizationUrl":{"type":"string","format":"uri"}},"required":["id","accountId","connectionId","actorUserId","endpointUrl","endpointHost","issuer","resourceUri","authorizationEndpoint","tokenEndpoint","revocationEndpoint","redirectUri","setupDraftId","continuationId","returnUrl","stateHash","codeChallenge","codeChallengeMethod","clientStrategy","clientId","clientMetadataUrl","authorizationResponseIssParameterSupported","expiresAt","usedAt","cancelledAt","failureCode","createdAt","updatedAt","authorizationUrl"],"additionalProperties":false},"OperationFlowMcpOauthCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","FLOW_MCP_OAUTH_DISCOVERY_FAILED","FLOW_MCP_OAUTH_METADATA_INVALID","FLOW_MCP_OAUTH_RESOURCE_MISMATCH","FLOW_MCP_OAUTH_ISSUER_MISMATCH","FLOW_MCP_OAUTH_UNSUPPORTED","NOT_FOUND","FLOW_MCP_OAUTH_METADATA_MISMATCH","FLOW_MCP_OAUTH_SETUP_REQUIRED","FLOW_MCP_OAUTH_REGISTRATION_FAILED","FLOW_MCP_OAUTH_ATTEMPT_INVALID","FLOW_MCP_OAUTH_REDIRECT_MISMATCH","FLOW_MCP_OAUTH_BEGIN_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpOauthCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateErrorDefinitionSchema0"}}]},"OperationFlowMcpOauthCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateErrorDefinitionSchema1"}}]},"OperationFlowMcpOauthPreviewInput":{"type":"object","properties":{"endpointUrl":{"type":"string","maxLength":2048,"format":"uri"},"expectedResourceUri":{"type":"string","maxLength":2048,"format":"uri"},"resourceMetadataUrl":{"type":"string","maxLength":2048,"format":"uri"},"authorizationServer":{"type":"string","maxLength":2048,"format":"uri"}},"required":["endpointUrl"]},"OperationFlowMcpOauthPreviewOutput":{"type":"object","properties":{"id":{"type":"string","format":"uri"},"endpointUrl":{"type":"string","format":"uri"},"endpointHost":{"type":"string"},"resourceUri":{"type":"string","format":"uri"},"resourceMetadataUrl":{"type":"string","format":"uri"},"authorizationServer":{"type":"string","format":"uri"},"authorizationMetadataUrl":{"type":"string","format":"uri"},"metadata":{"type":"object","properties":{"issuer":{"type":"string"},"authorizationEndpoint":{"type":"string","format":"uri"},"tokenEndpoint":{"type":"string","format":"uri"},"revocationEndpoint":{"nullable":true,"type":"string","format":"uri"},"registrationEndpoint":{"nullable":true,"type":"string","format":"uri"},"clientIdMetadataDocumentSupported":{"type":"boolean"},"authorizationResponseIssParameterSupported":{"type":"boolean"},"codeChallengeMethodsSupported":{"type":"array","items":{"type":"string"}},"scopesSupported":{"type":"array","items":{"type":"string"}}},"required":["issuer","authorizationEndpoint","tokenEndpoint","revocationEndpoint","registrationEndpoint","clientIdMetadataDocumentSupported","authorizationResponseIssParameterSupported","codeChallengeMethodsSupported","scopesSupported"],"additionalProperties":false},"resourceScopesSupported":{"type":"array","items":{"type":"string"}}},"required":["id","endpointUrl","endpointHost","resourceUri","resourceMetadataUrl","authorizationServer","authorizationMetadataUrl","metadata","resourceScopesSupported"],"additionalProperties":false},"OperationFlowMcpOauthPreviewError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","FLOW_MCP_OAUTH_DISCOVERY_FAILED","FLOW_MCP_OAUTH_METADATA_INVALID","FLOW_MCP_OAUTH_RESOURCE_MISMATCH","FLOW_MCP_OAUTH_ISSUER_MISMATCH","FLOW_MCP_OAUTH_UNSUPPORTED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpOauthPreviewErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewErrorDefinitionSchema0"}}]},"OperationFlowMcpOauthPreviewErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewErrorDefinitionSchema1"}}]},"OperationFlowMcpToolsUpdateInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"policy":{"type":"string","enum":["disabled","ask_before_use","allow_automatically"]},"toolIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":512}}},"required":["connectionId","policy"]},"OperationFlowMcpToolsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"policy":{"type":"string","enum":["disabled","ask_before_use","allow_automatically"]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1},"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"toolId":{"type":"string","minLength":1},"remoteName":{"type":"string","minLength":1,"maxLength":256},"description":{"nullable":true,"type":"string","maxLength":20000},"inputSchema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateOutputDefinitionSchema0"}},"outputSchema":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateOutputDefinitionSchema0"}},"annotations":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateOutputDefinitionSchema0"}},"catalogRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"policy":{"type":"string","enum":["disabled","ask_before_use","allow_automatically"]},"status":{"type":"string","enum":["active","removed"]},"requiresReview":{"type":"boolean"},"createdAt":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1}},"required":["id","accountId","connectionId","toolId","remoteName","description","inputSchema","outputSchema","annotations","catalogRevision","policy","status","requiresReview","createdAt","updatedAt"],"additionalProperties":false}}},"required":["id","policy","items"],"additionalProperties":false},"OperationFlowMcpToolsUpdateOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateOutputDefinitionSchema0"}}]},"OperationFlowMcpToolsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowMcpToolsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateErrorDefinitionSchema0"}}]},"OperationFlowMcpToolsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateErrorDefinitionSchema1"}}]},"OperationFlowThreadsSearchInput":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"threadId":{"x-moreflow-reference":{"resolver":"flow.threads.search"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"aroundMessageId":{"x-moreflow-opaque":{"reason":"A message anchor within the supplied thread."},"type":"string","minLength":1,"maxLength":200},"cursor":{"type":"string","minLength":1,"maxLength":4000},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100}}},"OperationFlowThreadsSearchOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"title":{"type":"string"},"titleSource":{"type":"string","enum":["derived","llm","user"]},"lastMessageAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pinned":{"default":false,"type":"boolean"},"archived":{"default":false,"type":"boolean"},"permissionMode":{"default":"normal","type":"string","enum":["normal","dangerously_skip_permissions"]},"permissionModeSource":{"default":"default","type":"string","enum":["default","new_chat_preference","explicit"]},"permissionModeUpdatedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"shape":{"type":"string","enum":["browse","read","around","query"]},"query":{"nullable":true,"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"threadId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string"},"intent":{"default":null,"nullable":true,"type":"string","enum":["contract_cancellation_reasons","contract_signature_rate","general_agent","unsupported"]},"conversationalIntent":{"default":null,"nullable":true,"type":"object","properties":{"schemaVersion":{"type":"number","enum":[1]},"primaryKind":{"type":"string","enum":["read","advice","bounded_action","ongoing_objective","steering"]},"commitment":{"type":"string","enum":["none","answer","bounded_action","objective","steering"]},"requests":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"kind":{"type":"string","enum":["read","advice","bounded_action","ongoing_objective","steering"]},"text":{"type":"string","minLength":1,"maxLength":4000},"explicit":{"type":"boolean"},"negated":{"type":"boolean"},"referenceTerms":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":80}},"resources":{"maxItems":12,"type":"array","items":{"type":"object","properties":{"resourceType":{"type":"string","minLength":1,"maxLength":80},"resourceId":{"type":"string","minLength":1,"maxLength":200,"x-moreflow-opaque":{"reason":"A record identifier typed by resourceType; resolve it through that record type’s own operation."}},"label":{"type":"string","minLength":1,"maxLength":240},"authority":{"type":"string","enum":["record_context","operation_output","active_objective"]}},"required":["resourceType","resourceId","label","authority"],"additionalProperties":false}},"proposedOperationIds":{"maxItems":12,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"x-moreflow-reference":{"resolver":"operations.discovery.get"}},"validatedOperationIds":{"maxItems":12,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"x-moreflow-reference":{"resolver":"operations.discovery.get"}},"proposedEffects":{"maxItems":8,"type":"array","items":{"type":"string","enum":["read","local_reversible_write","bulk_write","external_communication","provider_administration","financial_commitment","irreversible_write","unknown"]}},"validatedEffects":{"maxItems":8,"type":"array","items":{"type":"string","enum":["read","local_reversible_write","bulk_write","external_communication","provider_administration","financial_commitment","irreversible_write","unknown"]}},"requiresClarification":{"type":"boolean"}},"required":["id","kind","text","explicit","negated","referenceTerms","resources","proposedOperationIds","validatedOperationIds","proposedEffects","validatedEffects","requiresClarification"],"additionalProperties":false}},"clarification":{"type":"object","properties":{"question":{"type":"string","minLength":1,"maxLength":1000},"reason":{"type":"string","enum":["ambiguous_target","ambiguous_commitment","unavailable_capability"]},"requestId":{"type":"string","minLength":1,"maxLength":80}},"required":["question","reason","requestId"],"additionalProperties":false},"authoritativeReferences":{"maxItems":12,"type":"array","items":{"type":"object","properties":{"resourceType":{"type":"string","minLength":1,"maxLength":80},"resourceId":{"type":"string","minLength":1,"maxLength":200,"x-moreflow-opaque":{"reason":"A record identifier typed by resourceType; resolve it through that record type’s own operation."}},"label":{"type":"string","minLength":1,"maxLength":240},"authority":{"type":"string","enum":["record_context","operation_output","active_objective"]}},"required":["resourceType","resourceId","label","authority"],"additionalProperties":false}},"statedTarget":{"type":"boolean"},"embeddedQuestion":{"type":"string","minLength":1,"maxLength":1000},"horizon":{"type":"string","enum":["session","standing","deadline"]},"fingerprint":{"type":"string","pattern":"^[a-f0-9]{32}$"}},"required":["schemaVersion","primaryKind","commitment","requests","authoritativeReferences","fingerprint"],"additionalProperties":false},"objectiveCommitment":{"default":null,"nullable":true,"type":"object","properties":{"status":{"type":"string","enum":["active","reused","blocked"]},"objectiveId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Flow objective identifiers are opaque workflow references."}},"objectiveTitle":{"type":"string","minLength":1,"maxLength":300},"baselineStatus":{"type":"string","enum":["unknown","known"]},"horizon":{"type":"string","enum":["standing","deadline"]},"cadence":{"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","weekdays","monthly"]},"localTime":{"type":"string","pattern":"^([01][0-9]|2[0-3]):[0-5][0-9]$"},"weekDay":{"type":"integer","minimum":1,"maximum":7},"weekDays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"integer","minimum":1,"maximum":7}},"monthDay":{"type":"integer","minimum":1,"maximum":31},"timeZone":{"type":"string","minLength":1,"maxLength":100},"goal":{"type":"string","minLength":1,"maxLength":8000},"sourceOperationIds":{"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"recipients":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":320}},"channel":{"type":"string","enum":["in_app","email","sms","whatsapp"]},"continuity":{"type":"boolean"}},"required":["frequency","localTime","timeZone"],"additionalProperties":false},"nextCheckAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sourceMessageId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Flow message identifiers are opaque workflow references."}},"sourceThreadId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Thread identifiers are opaque workflow references."}},"blocker":{"type":"string","minLength":1}},"required":["status","baselineStatus","sourceMessageId","sourceThreadId"],"additionalProperties":false},"toolResults":{"default":null,"nullable":true,"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutputDefinitionSchema0"}}},"toolTrace":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"operationId":{"type":"string"},"prefetched":{"type":"boolean"},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"ruleId":{"x-moreflow-opaque":{"reason":"Historical standing approval rule used by this execution; inspection is restricted to account owners and administrators through the internal Flow policy operations."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"effectiveScope":{"allOf":[{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutputDefinitionSchema1"}]},"label":{"type":"string","minLength":1},"activity":{"type":"string","minLength":1},"riskLevel":{"type":"string","enum":["query","mutation","destructive"]},"status":{"type":"string","enum":["executed","pending_confirmation","blocked","failed"]},"input":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutputDefinitionSchema0"}},"output":{"allOf":[{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutputDefinitionSchema1"}]},"pendingActionId":{"type":"string"},"resultId":{"type":"string","minLength":1},"error":{"type":"string"},"reason":{"type":"string"},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"latencyMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"outcome":{"type":"string","enum":["denied","deferred","expired","rejected"]},"userConsent":{"type":"boolean"},"permissionMode":{"type":"string","enum":["dangerously_skip_permissions"]},"denyReason":{"type":"string","minLength":1}},"required":["operationId","label","activity","riskLevel","status","input"],"additionalProperties":false}},"pendingAction":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"threadId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"operationId":{"type":"string"},"operationInput":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutputDefinitionSchema0"}},"riskLevel":{"type":"string","enum":["query","mutation","destructive"]},"previewSummary":{"type":"string"},"status":{"type":"string","enum":["pending","confirmed","rejected","expired","executed","blocked","failed"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"confirmedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"rejectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"executedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"executionResult":{"allOf":[{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutputDefinitionSchema1"}]},"blockedReason":{"type":"string"},"supersededBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerValidation":{"type":"string","enum":["checked","unsupported"]},"review":{"type":"object","properties":{"type":{"type":"string","enum":["review"]},"subjectKind":{"type":"string","enum":["pending_action","digest","signal_proposal","draft"]},"subjectId":{"type":"string","minLength":1},"verdict":{"type":"string","enum":["approve","revise","escalate_to_human"]},"reason":{"type":"string","minLength":1,"maxLength":1000},"verifiedRecordIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"verifiedRecordCount":{"type":"integer","minimum":0,"maximum":100},"model":{"type":"string","minLength":1},"provider":{"type":"string","enum":["google","openai","anthropic","openrouter","deterministic","unknown"]},"tokens":{"type":"object","properties":{"input":{"type":"integer","minimum":0,"maximum":9007199254740991},"output":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"thinking":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["input","output","total"],"additionalProperties":false}},"required":["type","subjectKind","subjectId","verdict","reason","verifiedRecordIds","verifiedRecordCount","model","provider"],"additionalProperties":false}},"required":["id","accountId","userId","threadId","operationId","operationInput","riskLevel","previewSummary","status","createdAt","updatedAt","expiresAt"],"additionalProperties":false},"pendingQuestion":{"default":null,"nullable":true,"type":"object","properties":{"questions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"question":{"type":"string","minLength":1,"maxLength":1000},"choices":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"multiSelect":{"default":false,"type":"boolean"}},"required":["question","multiSelect"],"additionalProperties":false}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["questions","createdAt"],"additionalProperties":false},"followUps":{"default":null,"nullable":true,"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"prompt":{"type":"string","minLength":1,"maxLength":4000}},"required":["label","prompt"],"additionalProperties":false}},"evidenceCoverage":{"default":null,"nullable":true,"type":"object","properties":{"requiredEvidence":{"type":"array","items":{"type":"string","enum":["client.profile","client.notes","client.files","client.fileContent","client.messages","client.activities","contract.status","invoice.status","payment.history"]}},"targetKind":{"type":"string","enum":["client"]},"targetTotal":{"type":"integer","minimum":0,"maximum":9007199254740991},"returnedTargets":{"type":"integer","minimum":0,"maximum":9007199254740991},"coveredTargets":{"type":"integer","minimum":0,"maximum":9007199254740991},"partial":{"type":"boolean"},"coverageByEvidence":{"type":"array","items":{"type":"object","properties":{"evidenceType":{"type":"string","enum":["client.profile","client.notes","client.files","client.fileContent","client.messages","client.activities","contract.status","invoice.status","payment.history"]},"required":{"type":"boolean"},"targetTotal":{"type":"integer","minimum":0,"maximum":9007199254740991},"coveredTargets":{"type":"integer","minimum":0,"maximum":9007199254740991},"partial":{"type":"boolean"}},"required":["evidenceType","required","targetTotal","coveredTargets","partial"],"additionalProperties":false}},"uncoveredEvidence":{"type":"array","items":{"type":"string","enum":["client.profile","client.notes","client.files","client.fileContent","client.messages","client.activities","contract.status","invoice.status","payment.history"]}},"sampling":{"type":"object","properties":{"selectedTargets":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalTargets":{"type":"integer","minimum":0,"maximum":9007199254740991},"rule":{"type":"string","minLength":1}},"required":["selectedTargets","totalTargets","rule"],"additionalProperties":false},"disclosure":{"type":"string"},"escalation":{"type":"object","properties":{"required":{"type":"boolean"},"reason":{"type":"string"},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["required","reason"],"additionalProperties":false}},"required":["requiredEvidence","targetKind","targetTotal","returnedTargets","coveredTargets","partial","coverageByEvidence","uncoveredEvidence"],"additionalProperties":false},"durableRunProposal":{"default":null,"nullable":true,"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"goal":{"type":"string","minLength":1,"maxLength":8000},"status":{"type":"string","enum":["draft","planning","awaiting_input","ready","queued","running","awaiting_approval","waiting","cancelling","completed","partially_completed","failed","cancelled","expired"]},"reason":{"type":"string","minLength":1},"latestEvent":{"type":"object","properties":{"type":{"type":"string","minLength":1},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["type","createdAt"],"additionalProperties":false}},"required":["runId","goal","status","reason"],"additionalProperties":false},"pendingDelegation":{"default":null,"nullable":true,"type":"object","properties":{"childRunId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"parentRunId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"goal":{"type":"string","minLength":1,"maxLength":8000},"dispatchOrder":{"type":"integer","minimum":1,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","planning","awaiting_input","ready","queued","running","awaiting_approval","waiting","cancelling","completed","partially_completed","failed","cancelled","expired"]},"controls":{"type":"object","properties":{"canList":{"type":"boolean","enum":[true]},"canSteer":{"type":"boolean","enum":[true]},"canStop":{"type":"boolean","enum":[true]}},"required":["canList","canSteer","canStop"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["childRunId","parentRunId","goal","dispatchOrder","status","controls","createdAt"],"additionalProperties":false},"memoryUpdates":{"type":"array","items":{"type":"object","properties":{"approvalId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Memory approval audit identifiers are managed by the internal Flow memory approval operations, not public resource handles; status, canUndo and canConfirm describe what a client may do."}},"status":{"type":"string","enum":["saved","awaiting_confirmation","undone","rejected"],"description":"saved and awaiting_confirmation are current; undone and rejected were withdrawn."},"scope":{"type":"string","enum":["personal","shared"],"description":"personal is visible only to the caller; shared is account-wide memory."},"body":{"type":"string","minLength":1},"canUndo":{"type":"boolean","description":"The caller may revert this saved memory with flow.memories.approvals.revert."},"canConfirm":{"type":"boolean","description":"The caller may decide this proposal with flow.memories.approvals.approve or reject."}},"required":["approvalId","status","scope","body","canUndo","canConfirm"],"additionalProperties":false}},"answerLane":{"default":null,"nullable":true,"description":"Present with value fast when the fast conversational lane answered this message.","type":"string","enum":["fast"]},"attachments":{"default":null,"nullable":true,"type":"array","items":{"type":"object","properties":{"storageObjectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"storage object id"},"fileName":{"type":"string"},"contentType":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["image","document","unsupported"]}},"required":["storageObjectId","fileName","contentType","byteSize","kind"],"additionalProperties":false}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"compactionSummary":{"type":"boolean"}},"required":["id","accountId","threadId","role","content","intent","conversationalIntent","objectiveCommitment","toolResults","toolTrace","pendingAction","pendingQuestion","followUps","evidenceCoverage","durableRunProposal","pendingDelegation","answerLane","attachments","createdAt","compactionSummary"],"additionalProperties":false}},"anchors":{"type":"array","items":{"type":"object","properties":{"threadId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"messageId":{"type":"string"},"rank":{"type":"integer","minimum":1,"maximum":9007199254740991},"snippet":{"type":"string","minLength":1,"maxLength":240}},"required":["threadId","messageId","rank","snippet"],"additionalProperties":false}},"links":{"type":"array","items":{"type":"object","properties":{"threadId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"messageId":{"type":"string"},"anchor":{"type":"boolean"}},"required":["threadId","messageId","anchor"],"additionalProperties":false}},"guidance":{"type":"string","minLength":1}},"required":["id","accountId","userId","title","titleSource","lastMessageAt","createdAt","updatedAt","pinned","archived","permissionMode","permissionModeSource","permissionModeUpdatedAt","shape","query","messages","anchors","links","guidance"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationFlowThreadsSearchOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutputDefinitionSchema0"}}]},"OperationFlowThreadsSearchOutputDefinitionSchema1":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutputDefinitionSchema1"}}]},"OperationFlowThreadsSearchError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","FLOW_AI_OWNER_RISK_CONSENT_REQUIRED","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowThreadsSearchErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFlowThreadsSearchErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFlowThreadsSearchErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowThreadsSearchErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowThreadsSearchErrorDefinitionSchema0"}}]},"OperationFlowThreadsSearchErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFlowThreadsSearchErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFlowThreadsSearchErrorDefinitionSchema1"}}]},"OperationFormsListInput":{"type":"object","properties":{"status":{"description":"Return only forms in this status. Archived forms are returned when this is archived.","type":"string","enum":["draft","published","archived"]},"includeArchived":{"default":false,"description":"Also return archived forms next to the other statuses. Not needed when status is archived.","type":"boolean"},"limit":{"default":100,"description":"Page size from 1 to 200. Defaults to 100.","type":"integer","minimum":1,"maximum":200},"cursor":{"description":"Opaque cursor from nextCursor of the preceding page. Omit it for the first page.","type":"string","minLength":1}}},"OperationFormsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"status":{"type":"string","enum":["draft","published","archived"]},"config":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsListOutputDefinitionSchema0"}},"allowedDomains":{"type":"array","items":{"type":"string"}},"currentPublishedVersionId":{"x-moreflow-opaque":{"reason":"Form version id of the published version; forms.versions.list is not a public operation, so agents cannot resolve it."},"type":"string"},"currentVersion":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"formId":{"type":"string"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","published","archived"]},"fieldMatching":{"type":"array","items":{"type":"object","properties":{"formFieldId":{"type":"string","minLength":1},"clientField":{"type":"string","minLength":1}},"required":["formFieldId","clientField"],"additionalProperties":false}},"settings":{"type":"object","properties":{"submitButtonText":{"type":"string"},"continueButtonText":{"type":"string"},"submitButtonWidth":{"type":"string"},"submitButtonUppercase":{"type":"boolean"},"submitButtonBold":{"type":"boolean"},"borderRadius":{"type":"string"},"primaryColor":{"type":"string"},"fontSize":{"type":"string"},"theme":{"type":"string"},"themeMode":{"type":"string","enum":["light","dark","system"]},"privacyMode":{"type":"boolean"}},"additionalProperties":{"$ref":"#/components/schemas/OperationFormsListOutputDefinitionSchema1"}},"pages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["regular","thank_you"]},"title":{"type":"string"},"description":{"type":"string"},"components":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"label":{"type":"string"},"size":{"type":"string","enum":["small","medium","large","full"]},"required":{"type":"boolean"},"showLabel":{"type":"boolean"},"showPlaceholder":{"type":"boolean"},"placeholder":{"type":"string"},"options":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"value":{"type":"string"},"label":{"type":"string"}},"required":["id","value","label"],"additionalProperties":false}}]},"importAs":{"type":"string"},"storageObjectId":{"type":"string"},"storageRef":{"type":"object","properties":{"kind":{"type":"string","enum":["object"]},"storageObjectId":{"type":"string","minLength":1}},"required":["kind","storageObjectId"],"additionalProperties":false},"fileName":{"type":"string"},"contentType":{"type":"string"}},"required":["id","type"],"additionalProperties":{}}},"content":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1}},"required":["id","type"],"additionalProperties":{}}},{"type":"string"}]},"order":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","components"],"additionalProperties":{}}},"createdByActorId":{"type":"string"},"publishedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","accountId","formId","version","status","settings","pages","createdAt","updatedAt"],"additionalProperties":false},"createdByActorId":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"archivedAt":{"type":"string"}},"required":["id","accountId","name","status","config","allowedDomains","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Opaque cursor for the next page, or null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationFormsListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsListOutputDefinitionSchema0"}}]},"OperationFormsListOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsListOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsListOutputDefinitionSchema1"}}]},"OperationFormsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFormsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFormsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsListErrorDefinitionSchema0"}}]},"OperationFormsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsListErrorDefinitionSchema1"}}]},"OperationFormsPublicGetInput":{"type":"object","properties":{"formId":{"type":"string","minLength":1},"origin":{"type":"string"}},"required":["formId"]},"OperationFormsPublicGetOutput":{"type":"object","properties":{"id":{"type":"string","description":"Form id; submit to forms.submissions.submit with it."},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Account that owns the form; forms.submissions.submit takes it with the form id."},"name":{"type":"string"},"status":{"type":"string","enum":["draft","published","archived"]},"honeypotField":{"type":"string","minLength":1},"spamProtection":{"type":"object","properties":{"turnstile":{"type":"object","properties":{"siteKey":{"type":"string"},"mode":{"type":"string","enum":["off","flag","require"]}},"required":["siteKey","mode"],"additionalProperties":false}},"required":["turnstile"],"additionalProperties":false},"companyName":{"nullable":true,"description":"The tenant brand display name (company profile) that consent copy names, exactly as the hosted form shows it; null when the tenant has none, and then a marketing_consent box must stay hidden.","type":"string","minLength":1},"language":{"type":"string","enum":["en","de"],"description":"The account's default form language; render the form in it and submit it as locale unless the visitor chose another."},"version":{"nullable":true,"type":"object","properties":{"id":{"type":"string","description":"Published form version id."},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Published version number."},"publishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"settings":{"type":"object","properties":{"submitButtonText":{"type":"string"},"continueButtonText":{"type":"string"},"submitButtonWidth":{"type":"string"},"submitButtonUppercase":{"type":"boolean"},"submitButtonBold":{"type":"boolean"},"borderRadius":{"type":"string"},"primaryColor":{"type":"string"},"fontSize":{"type":"string"},"theme":{"type":"string"},"themeMode":{"type":"string","enum":["light","dark","system"]},"privacyMode":{"description":"Hold the browser pixels until the visitor accepts the consent prompt.","type":"boolean"},"thankYouPageUrl":{"description":"Where to send the visitor after a successful submission instead of the thank-you page.","type":"string"},"thank_you_page_url":{"description":"Legacy alias of thankYouPageUrl.","type":"string"},"meta_pixel_id":{"description":"Meta pixel the browser fires form events to.","type":"string"},"meta_event_form_started":{"description":"Meta event fired when the visitor starts the form.","type":"string"},"meta_event_form_submitted":{"description":"Meta event fired after a successful submission.","type":"string"},"tiktok_pixel_id":{"description":"TikTok pixel the browser fires form events to: the form's own, else the account's TikTok integration pixel.","type":"string"},"tiktok_event_form_submitted":{"description":"TikTok event fired after a successful submission.","type":"string"}},"additionalProperties":false},"pages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["regular","thank_you"]},"title":{"type":"string"},"description":{"type":"string"},"order":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"components":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1,"description":"Component type, e.g. text, email, phone_number, dropdown, heading."},"label":{"description":"Label text or a forms.* message key.","type":"string"},"placeholder":{"description":"Placeholder text or a forms.* message key.","type":"string"},"required":{"type":"boolean"},"showLabel":{"type":"boolean"},"showPlaceholder":{"type":"boolean"},"size":{"description":"Layout width of the component.","type":"string","enum":["small","medium","large","full"]},"options":{"description":"Choices of a dropdown, checkbox or multiple-choice field.","anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"value":{"type":"string"},"label":{"type":"string"}},"required":["id","value","label"],"additionalProperties":false}}]},"multipleSelect":{"description":"A multiple-choice field accepts several options.","type":"boolean"},"verifyPhone":{"description":"Phone fields: verify the number by SMS before submitting.","type":"boolean"},"checkboxText":{"description":"Consent checkbox text the account wrote, or a forms.privacy.* message key.","type":"string"},"content":{"description":"Display text of a presentational component such as a heading.","type":"string"},"src":{"description":"Image components: stable image URL.","type":"string"},"alt":{"description":"Image components: alternative text.","type":"string"},"storageObjectId":{"type":"string"},"storageRef":{"type":"object","properties":{"kind":{"type":"string","enum":["object"]},"storageObjectId":{"type":"string","minLength":1}},"required":["kind","storageObjectId"],"additionalProperties":false},"fileName":{"type":"string"},"contentType":{"type":"string"}},"required":["id","type"],"additionalProperties":false}},"content":{"description":"Thank-you page blocks, or the same blocks serialized as a JSON string.","anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1}},"required":["id","type"],"additionalProperties":{}}},{"type":"string"}]}},"required":["id","components"],"additionalProperties":false}}},"required":["id","version","publishedAt","settings","pages"],"additionalProperties":false}},"required":["id","accountId","name","status","honeypotField","spamProtection","companyName","language","version"],"additionalProperties":false},"OperationFormsPublicGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","FORM_NOT_FOUND","FORM_RETIRED","FORM_UNPUBLISHED","ORIGIN_NOT_ALLOWED","INVALID_STATE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsPublicGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFormsPublicGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFormsPublicGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsPublicGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsPublicGetErrorDefinitionSchema0"}}]},"OperationFormsPublicGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsPublicGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsPublicGetErrorDefinitionSchema1"}}]},"OperationFormsSubmissionsGetInput":{"type":"object","properties":{"submissionId":{"type":"string","minLength":1,"x-moreflow-reference":{"resolver":"forms.submissions.list"}}},"required":["submissionId"]},"OperationFormsSubmissionsGetOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"formId":{"type":"string"},"formVersionId":{"x-moreflow-opaque":{"reason":"Form version the submission was made against; forms.versions.list is not a public operation, so agents cannot resolve it."},"type":"string"},"idempotencyKey":{"type":"string"},"status":{"type":"string","enum":["received","processed","failed","spam"]},"lifecycle":{"type":"string","enum":["received","processed","failed","spam"]},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"progress":{"type":"number"},"startTime":{"type":"string"},"submitTime":{"type":"string"},"ipAddress":{"type":"string"},"userAgent":{"type":"string"},"utmParams":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetOutputDefinitionSchema0"}},"referrer":{"type":"string"},"siteUrl":{"description":"Captured site origin the form was submitted from (absolute http(s) URL). Absent for entries submitted before capture existed.","type":"string","maxLength":2048,"format":"uri"},"landingPageUrl":{"description":"Captured page the form was submitted from, on the captured site. Not a first-touch landing page.","type":"string","maxLength":2048,"format":"uri"},"formData":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetOutputDefinitionSchema0"}},"gclid":{"type":"string"},"gbraid":{"type":"string"},"wbraid":{"type":"string"},"gadSource":{"type":"string"},"fbclid":{"type":"string"},"fbp":{"type":"string"},"fbc":{"type":"string"},"metaEventId":{"x-moreflow-opaque":{"reason":"Meta Pixel event id generated at submission for deduplication; an external provider identifier, not a Moreflow resource handle."},"type":"string"},"ttclid":{"type":"string"},"ttp":{"type":"string"},"tiktokEventId":{"x-moreflow-opaque":{"reason":"TikTok Pixel event id generated at submission for deduplication; an external provider identifier, not a Moreflow resource handle."},"type":"string"},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetOutputDefinitionSchema0"}},"payload":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetOutputDefinitionSchema0"}},"payloadHash":{"type":"string"},"testMode":{"type":"boolean"},"processing":{"type":"object","properties":{"clientLink":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"googleAdsConversion":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"activity":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"automationDispatch":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"retryable":{"type":"boolean"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"sideEffect":{"type":"string"}},"required":["code","message","sideEffect"],"additionalProperties":false}},"updatedAt":{"type":"string"}},"required":["clientLink","googleAdsConversion","activity","automationDispatch","retryable","errors","updatedAt"],"additionalProperties":false},"spamReview":{"type":"object","properties":{"disposition":{"type":"string","enum":["restored","discarded"]},"reviewedAt":{"type":"string"},"reviewedByActorId":{"type":"string","x-moreflow-opaque":{"reason":"Internal actor id of the member who reviewed the quarantined submission; no public operation resolves actor ids."}},"downstreamEffects":{"type":"string","enum":["not_replayed","not_applicable"]}},"required":["disposition","reviewedAt","reviewedByActorId","downstreamEffects"],"additionalProperties":false},"unparsedFields":{"type":"array","items":{"type":"object","properties":{"formFieldId":{"type":"string"},"clientField":{"type":"string"},"reason":{"type":"string","enum":["invalid_phone_number"]}},"required":["formFieldId","clientField","reason"],"additionalProperties":false}},"origin":{"type":"string"},"submittedAt":{"type":"string"},"processedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"form":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","enum":["draft","published","archived"]}},"required":["id","name","status"],"additionalProperties":false},"formVersion":{"type":"object","properties":{"id":{"type":"string"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","published","archived"]},"pages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["regular","thank_you"]},"title":{"type":"string"},"description":{"type":"string"},"components":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"label":{"type":"string"},"size":{"type":"string","enum":["small","medium","large","full"]},"required":{"type":"boolean"},"showLabel":{"type":"boolean"},"showPlaceholder":{"type":"boolean"},"placeholder":{"type":"string"},"options":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"value":{"type":"string"},"label":{"type":"string"}},"required":["id","value","label"],"additionalProperties":false}}]},"importAs":{"type":"string"},"storageObjectId":{"type":"string"},"storageRef":{"type":"object","properties":{"kind":{"type":"string","enum":["object"]},"storageObjectId":{"type":"string","minLength":1}},"required":["kind","storageObjectId"],"additionalProperties":false},"fileName":{"type":"string"},"contentType":{"type":"string"}},"required":["id","type"],"additionalProperties":{}}},"content":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1}},"required":["id","type"],"additionalProperties":{}}},{"type":"string"}]},"order":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","components"],"additionalProperties":{}}},"publishedAt":{"type":"string"}},"required":["id","version","status","pages"],"additionalProperties":false},"fieldSnapshot":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"optionLabels":{"type":"object","additionalProperties":{"type":"string"}},"pageId":{"type":"string"},"pageTitle":{"type":"string"}},"required":["id","label","type"],"additionalProperties":false}}},"required":["id","accountId","formId","status","lifecycle","payload","testMode","submittedAt","createdAt","updatedAt","fieldSnapshot"],"additionalProperties":false},"OperationFormsSubmissionsGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetOutputDefinitionSchema0"}}]},"OperationFormsSubmissionsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFormsSubmissionsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetErrorDefinitionSchema0"}}]},"OperationFormsSubmissionsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetErrorDefinitionSchema1"}}]},"OperationFormsSubmissionsListInput":{"type":"object","properties":{"formId":{"type":"string","minLength":1},"status":{"type":"string","enum":["received","processed","failed","spam"]},"submittedFrom":{"type":"string"},"submittedTo":{"type":"string"},"startedFrom":{"type":"string"},"startedTo":{"type":"string"},"utmKey":{"type":"string","minLength":1},"utmValue":{"type":"string"},"utmPresent":{"type":"boolean"},"userAgentContains":{"type":"string","minLength":1},"device":{"type":"object","properties":{"operatingSystem":{"type":"string","enum":["ios","ipados","android","macos","windows","linux","unknown"],"description":"Canonical operating-system category derived from the submission user agent."},"browser":{"type":"string","enum":["edge","chrome","firefox","safari","unknown"],"description":"Canonical browser category derived from the submission user agent."}},"required":["operatingSystem","browser"],"description":"Matches only submissions whose non-empty stored user agent is classified into this exact operating-system and browser pair."},"testMode":{"type":"boolean"},"limit":{"default":50,"description":"Page size from 1 to 100. Defaults to 50.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from nextCursor of the preceding page. Omit it for the first page.","type":"string"}}},"OperationFormsSubmissionsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"formId":{"type":"string"},"formVersionId":{"x-moreflow-opaque":{"reason":"Form version the submission was made against; forms.versions.list is not a public operation, so agents cannot resolve it."},"type":"string"},"idempotencyKey":{"type":"string"},"status":{"type":"string","enum":["received","processed","failed","spam"]},"lifecycle":{"type":"string","enum":["received","processed","failed","spam"]},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"progress":{"type":"number"},"startTime":{"type":"string"},"submitTime":{"type":"string"},"ipAddress":{"type":"string"},"userAgent":{"type":"string"},"utmParams":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsListOutputDefinitionSchema0"}},"referrer":{"type":"string"},"siteUrl":{"description":"Captured site origin the form was submitted from (absolute http(s) URL). Absent for entries submitted before capture existed.","type":"string","maxLength":2048,"format":"uri"},"landingPageUrl":{"description":"Captured page the form was submitted from, on the captured site. Not a first-touch landing page.","type":"string","maxLength":2048,"format":"uri"},"formData":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsListOutputDefinitionSchema0"}},"gclid":{"type":"string"},"gbraid":{"type":"string"},"wbraid":{"type":"string"},"gadSource":{"type":"string"},"fbclid":{"type":"string"},"fbp":{"type":"string"},"fbc":{"type":"string"},"metaEventId":{"x-moreflow-opaque":{"reason":"Meta Pixel event id generated at submission for deduplication; an external provider identifier, not a Moreflow resource handle."},"type":"string"},"ttclid":{"type":"string"},"ttp":{"type":"string"},"tiktokEventId":{"x-moreflow-opaque":{"reason":"TikTok Pixel event id generated at submission for deduplication; an external provider identifier, not a Moreflow resource handle."},"type":"string"},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsListOutputDefinitionSchema0"}},"payload":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsListOutputDefinitionSchema0"}},"payloadHash":{"type":"string"},"testMode":{"type":"boolean"},"processing":{"type":"object","properties":{"clientLink":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"googleAdsConversion":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"activity":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"automationDispatch":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"retryable":{"type":"boolean"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"sideEffect":{"type":"string"}},"required":["code","message","sideEffect"],"additionalProperties":false}},"updatedAt":{"type":"string"}},"required":["clientLink","googleAdsConversion","activity","automationDispatch","retryable","errors","updatedAt"],"additionalProperties":false},"spamReview":{"type":"object","properties":{"disposition":{"type":"string","enum":["restored","discarded"]},"reviewedAt":{"type":"string"},"reviewedByActorId":{"type":"string","x-moreflow-opaque":{"reason":"Internal actor id of the member who reviewed the quarantined submission; no public operation resolves actor ids."}},"downstreamEffects":{"type":"string","enum":["not_replayed","not_applicable"]}},"required":["disposition","reviewedAt","reviewedByActorId","downstreamEffects"],"additionalProperties":false},"unparsedFields":{"type":"array","items":{"type":"object","properties":{"formFieldId":{"type":"string"},"clientField":{"type":"string"},"reason":{"type":"string","enum":["invalid_phone_number"]}},"required":["formFieldId","clientField","reason"],"additionalProperties":false}},"origin":{"type":"string"},"submittedAt":{"type":"string"},"processedAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"form":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","enum":["draft","published","archived"]}},"required":["id","name","status"],"additionalProperties":false},"formVersion":{"type":"object","properties":{"id":{"type":"string"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","published","archived"]},"pages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["regular","thank_you"]},"title":{"type":"string"},"description":{"type":"string"},"components":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"label":{"type":"string"},"size":{"type":"string","enum":["small","medium","large","full"]},"required":{"type":"boolean"},"showLabel":{"type":"boolean"},"showPlaceholder":{"type":"boolean"},"placeholder":{"type":"string"},"options":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"value":{"type":"string"},"label":{"type":"string"}},"required":["id","value","label"],"additionalProperties":false}}]},"importAs":{"type":"string"},"storageObjectId":{"type":"string"},"storageRef":{"type":"object","properties":{"kind":{"type":"string","enum":["object"]},"storageObjectId":{"type":"string","minLength":1}},"required":["kind","storageObjectId"],"additionalProperties":false},"fileName":{"type":"string"},"contentType":{"type":"string"}},"required":["id","type"],"additionalProperties":{}}},"content":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1}},"required":["id","type"],"additionalProperties":{}}},{"type":"string"}]},"order":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","components"],"additionalProperties":{}}},"publishedAt":{"type":"string"}},"required":["id","version","status","pages"],"additionalProperties":false},"fieldSnapshot":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"optionLabels":{"type":"object","additionalProperties":{"type":"string"}},"pageId":{"type":"string"},"pageTitle":{"type":"string"}},"required":["id","label","type"],"additionalProperties":false}}},"required":["id","accountId","formId","status","lifecycle","payload","testMode","submittedAt","createdAt","updatedAt","fieldSnapshot"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Opaque cursor for the next page, or null on the last page.","type":"string"},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"capabilities":{"type":"object","properties":{"canReviewSpam":{"type":"boolean"}},"required":["canReviewSpam"],"additionalProperties":false}},"required":["items","nextCursor","totalCount","capabilities"],"additionalProperties":false},"OperationFormsSubmissionsListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsSubmissionsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsListOutputDefinitionSchema0"}}]},"OperationFormsSubmissionsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFormsSubmissionsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsSubmissionsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsListErrorDefinitionSchema0"}}]},"OperationFormsSubmissionsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsSubmissionsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsListErrorDefinitionSchema1"}}]},"OperationFormsSubmissionsSubmitInput":{"type":"object","properties":{"formId":{"type":"string","minLength":1},"data":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitInputDefinitionSchema0"}},"fieldMatching":{"type":"array","items":{"type":"object","properties":{"formFieldId":{"type":"string","minLength":1},"clientField":{"type":"string","minLength":1}},"required":["formFieldId","clientField"]}},"utmParams":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitInputDefinitionSchema0"}},"tracking":{"type":"object","properties":{"utmSource":{"type":"string"},"utmMedium":{"type":"string"},"utmCampaign":{"type":"string"},"utmTerm":{"type":"string"},"utmContent":{"type":"string"},"utmCampaignId":{"type":"string"},"gadCampaignId":{"type":"string"},"gadSource":{"type":"string"},"metaEventId":{"type":"string"},"tiktokEventId":{"type":"string"},"pageUrl":{"type":"string"},"userAgent":{"type":"string"},"visitorId":{"type":"string"},"sessionId":{"type":"string"},"requestIp":{"type":"string"},"gclid":{"type":"string"},"gbraid":{"type":"string"},"wbraid":{"type":"string"},"fbclid":{"type":"string"},"fbp":{"type":"string"},"fbc":{"type":"string"},"eventId":{"type":"string"},"ttclid":{"type":"string"},"ttp":{"type":"string"},"referrer":{"type":"string"},"origin":{"type":"string"},"consent":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitInputDefinitionSchema1"}}},"additionalProperties":{}},"consent":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitInputDefinitionSchema0"}},"locale":{"description":"Locale the visitor saw the form in; consent evidence hashes its privacy copy (default en).","type":"string","enum":["en","de"]},"spam":{"type":"object","properties":{"honeypot":{"type":"string"},"captchaToken":{"type":"string"},"turnstileToken":{"type":"string"}},"additionalProperties":{}},"payload":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitInputDefinitionSchema0"}},"idempotencyKey":{"type":"string"},"origin":{"type":"string"},"referrer":{"type":"string"},"userAgent":{"type":"string"},"requestIp":{"type":"string"},"testMode":{"default":false,"type":"boolean"}},"required":["formId"]},"OperationFormsSubmissionsSubmitInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitInputDefinitionSchema0"}}]},"OperationFormsSubmissionsSubmitInputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitInputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitInputDefinitionSchema1"}}]},"OperationFormsSubmissionsSubmitOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"formId":{"type":"string"},"formVersionId":{"default":null,"nullable":true,"type":"string"},"idempotencyKey":{"default":null,"nullable":true,"type":"string"},"status":{"type":"string","enum":["received","processed","failed","spam"]},"lifecycle":{"type":"string","enum":["received","processed","failed","spam"]},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"progress":{"default":null,"nullable":true,"type":"number"},"ipAddress":{"default":null,"nullable":true,"type":"string"},"userAgent":{"default":null,"nullable":true,"type":"string"},"utmParams":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitOutputDefinitionSchema0"}},"referrer":{"default":null,"nullable":true,"type":"string"},"siteUrl":{"description":"Captured site origin the form was submitted from (absolute http(s) URL). Absent for entries submitted before capture existed.","type":"string","maxLength":2048,"format":"uri"},"landingPageUrl":{"description":"Captured page the form was submitted from, on the captured site. Not a first-touch landing page.","type":"string","maxLength":2048,"format":"uri"},"formData":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitOutputDefinitionSchema0"}},"gclid":{"default":null,"nullable":true,"type":"string"},"gbraid":{"default":null,"nullable":true,"type":"string"},"wbraid":{"default":null,"nullable":true,"type":"string"},"gadSource":{"default":null,"nullable":true,"type":"string"},"fbclid":{"default":null,"nullable":true,"type":"string"},"fbp":{"default":null,"nullable":true,"type":"string"},"fbc":{"default":null,"nullable":true,"type":"string"},"metaEventId":{"default":null,"nullable":true,"type":"string"},"ttclid":{"default":null,"nullable":true,"type":"string"},"ttp":{"default":null,"nullable":true,"type":"string"},"tiktokEventId":{"default":null,"nullable":true,"type":"string"},"attribution":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitOutputDefinitionSchema0"}},"payload":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitOutputDefinitionSchema0"}},"payloadHash":{"default":null,"nullable":true,"type":"string"},"testMode":{"type":"boolean"},"processing":{"default":null,"nullable":true,"type":"object","properties":{"clientLink":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"googleAdsConversion":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"activity":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"automationDispatch":{"type":"string","enum":["pending","succeeded","failed","skipped"]},"retryable":{"type":"boolean"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"sideEffect":{"type":"string"}},"required":["code","message","sideEffect"],"additionalProperties":false}},"updatedAt":{"type":"string"}},"required":["clientLink","googleAdsConversion","activity","automationDispatch","retryable","errors","updatedAt"],"additionalProperties":false},"spamReview":{"default":null,"nullable":true,"type":"object","properties":{"disposition":{"type":"string","enum":["restored","discarded"]},"reviewedAt":{"type":"string"},"reviewedByActorId":{"type":"string","x-moreflow-opaque":{"reason":"Internal actor id of the member who reviewed the quarantined submission; no public operation resolves actor ids."}},"downstreamEffects":{"type":"string","enum":["not_replayed","not_applicable"]}},"required":["disposition","reviewedAt","reviewedByActorId","downstreamEffects"],"additionalProperties":false},"unparsedFields":{"default":[],"type":"array","items":{"type":"object","properties":{"formFieldId":{"type":"string"},"clientField":{"type":"string"},"reason":{"type":"string","enum":["invalid_phone_number"]}},"required":["formFieldId","clientField","reason"],"additionalProperties":false}},"origin":{"default":null,"nullable":true,"type":"string"},"submittedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"processedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"form":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","enum":["draft","published","archived"]}},"required":["id","name","status"],"additionalProperties":false},"formVersion":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","published","archived"]},"pages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["regular","thank_you"]},"title":{"type":"string"},"description":{"type":"string"},"components":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"label":{"type":"string"},"size":{"type":"string","enum":["small","medium","large","full"]},"required":{"type":"boolean"},"showLabel":{"type":"boolean"},"showPlaceholder":{"type":"boolean"},"placeholder":{"type":"string"},"options":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"value":{"type":"string"},"label":{"type":"string"}},"required":["id","value","label"],"additionalProperties":false}}]},"importAs":{"type":"string"},"storageObjectId":{"type":"string"},"storageRef":{"type":"object","properties":{"kind":{"type":"string","enum":["object"]},"storageObjectId":{"type":"string","minLength":1}},"required":["kind","storageObjectId"],"additionalProperties":false},"fileName":{"type":"string"},"contentType":{"type":"string"}},"required":["id","type"],"additionalProperties":{}}},"content":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1}},"required":["id","type"],"additionalProperties":{}}},{"type":"string"}]},"order":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","components"],"additionalProperties":{}}},"publishedAt":{"type":"string"}},"required":["id","version","status","pages"],"additionalProperties":false},"fieldSnapshot":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"optionLabels":{"type":"object","additionalProperties":{"type":"string"}},"pageId":{"type":"string"},"pageTitle":{"type":"string"}},"required":["id","label","type"],"additionalProperties":false}},"startedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientSubmittedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","formId","formVersionId","idempotencyKey","status","lifecycle","clientId","progress","ipAddress","userAgent","utmParams","referrer","formData","gclid","gbraid","wbraid","gadSource","fbclid","fbp","fbc","metaEventId","ttclid","ttp","tiktokEventId","attribution","payload","payloadHash","testMode","processing","spamReview","unparsedFields","origin","submittedAt","processedAt","createdAt","updatedAt","form","formVersion","fieldSnapshot","startedAt","clientSubmittedAt"],"additionalProperties":false},"OperationFormsSubmissionsSubmitOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitOutputDefinitionSchema0"}}]},"OperationFormsSubmissionsSubmitError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","FORM_NOT_FOUND","INVALID_STATE","ORIGIN_NOT_ALLOWED","SPAM_REJECTED","ANTI_SPAM_REQUIRED","ANTI_SPAM_INVALID","IDEMPOTENCY_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationFormsSubmissionsSubmitErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitErrorDefinitionSchema0"}}]},"OperationFormsSubmissionsSubmitErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitErrorDefinitionSchema1"}}]},"OperationInvoicesCreateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"contractId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR","USD"]},"type":{"type":"string","enum":["contract","product","meeting","offer","manual"]},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesCreateInputDefinitionSchema0"}}},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"servicePeriodStart":{"description":"Service date, or first day of the service period (YYYY-MM-DD, § 14 Abs. 4 Nr. 6 UStG). Omit when the invoice date is the service date.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"servicePeriodEnd":{"description":"Last day of the service period (YYYY-MM-DD). Omit for a single service date; requires servicePeriodStart.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"language":{"description":"Language of the invoice PDF, its email, reminders and correction documents (de or en). Omit to use the account language.","type":"string","enum":["de","en"]},"idempotencyKey":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","currency","type","items"]},"OperationInvoicesCreateInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesCreateInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesCreateInputDefinitionSchema0"}}]},"OperationInvoicesCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"contractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","sent","paid","overdue","cancelled","refunded"]},"type":{"type":"string","enum":["contract","product","meeting","offer","manual"]},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesCreateOutputDefinitionSchema0"}}},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR","USD"]},"dueAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"paidAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientFirstName":{"default":null,"nullable":true,"type":"string"},"clientLastName":{"default":null,"nullable":true,"type":"string"},"clientName":{"default":null,"nullable":true,"type":"string"},"sentToEmail":{"default":null,"nullable":true,"description":"Client email address the invoice email was last delivered to.","type":"string"},"language":{"description":"Language chosen for this invoice at creation. Absent means the invoice renders in the account language.","type":"string","enum":["de","en"]},"servicePeriodStart":{"description":"First day of the service period (YYYY-MM-DD). Absent means the invoice date is the service date.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"servicePeriodEnd":{"description":"Last day of the service period (YYYY-MM-DD); equal to servicePeriodStart for a single service date.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","contractId","invoiceNumber","status","type","items","totalNetCents","totalGrossCents","currency","dueAt","sentAt","paidAt","clientFirstName","clientLastName","clientName","sentToEmail","createdAt","updatedAt"],"additionalProperties":false},"OperationInvoicesCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesCreateOutputDefinitionSchema0"}}]},"OperationInvoicesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationInvoicesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesCreateErrorDefinitionSchema0"}}]},"OperationInvoicesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesCreateErrorDefinitionSchema1"}}]},"OperationInvoicesDownloadUrlGetInput":{"type":"object","properties":{"invoiceId":{"description":"Invoice whose generated PDF should be downloaded.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"OperationInvoicesDownloadUrlGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceUrl":{"type":"string"},"filename":{"type":"string"}},"required":["id","invoiceUrl","filename"],"additionalProperties":false},"OperationInvoicesDownloadUrlGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVOICE_FILE_UNAVAILABLE","STORAGE_PRESIGN_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationInvoicesDownloadUrlGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetErrorDefinitionSchema0"}}]},"OperationInvoicesDownloadUrlGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetErrorDefinitionSchema1"}}]},"OperationInvoicesGetInput":{"type":"object","properties":{"invoiceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["invoiceId"]},"OperationInvoicesGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"contractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","sent","paid","overdue","cancelled","refunded"]},"type":{"type":"string","enum":["contract","product","meeting","offer","manual"]},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesGetOutputDefinitionSchema0"}}},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR","USD"]},"dueAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"paidAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientFirstName":{"default":null,"nullable":true,"type":"string"},"clientLastName":{"default":null,"nullable":true,"type":"string"},"clientName":{"default":null,"nullable":true,"type":"string"},"sentToEmail":{"default":null,"nullable":true,"description":"Client email address the invoice email was last delivered to.","type":"string"},"language":{"description":"Language chosen for this invoice at creation. Absent means the invoice renders in the account language.","type":"string","enum":["de","en"]},"servicePeriodStart":{"description":"First day of the service period (YYYY-MM-DD). Absent means the invoice date is the service date.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"servicePeriodEnd":{"description":"Last day of the service period (YYYY-MM-DD); equal to servicePeriodStart for a single service date.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientEmail":{"default":null,"nullable":true,"type":"string"},"fileAvailable":{"type":"boolean"},"correctionKind":{"nullable":true,"type":"string","enum":["cancellation","credit_note"]},"correctsInvoice":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","invoiceNumber"],"additionalProperties":false},"correctionDocuments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["cancellation","credit_note"]},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","invoiceNumber","kind","totalGrossCents","createdAt"],"additionalProperties":false}},"capabilities":{"type":"object","properties":{"canDownload":{"type":"boolean"},"canSendEmail":{"type":"boolean"},"canMarkSent":{"type":"boolean"},"canMarkPaid":{"type":"boolean"},"canCancel":{"type":"boolean"},"canRefund":{"type":"boolean"}},"required":["canDownload","canSendEmail","canMarkSent","canMarkPaid","canCancel","canRefund"],"additionalProperties":false}},"required":["id","clientId","contractId","invoiceNumber","status","type","items","totalNetCents","totalGrossCents","currency","dueAt","sentAt","paidAt","clientFirstName","clientLastName","clientName","sentToEmail","createdAt","updatedAt","clientEmail","fileAvailable","correctionKind","correctsInvoice","correctionDocuments","capabilities"],"additionalProperties":false},"OperationInvoicesGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesGetOutputDefinitionSchema0"}}]},"OperationInvoicesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationInvoicesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesGetErrorDefinitionSchema0"}}]},"OperationInvoicesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesGetErrorDefinitionSchema1"}}]},"OperationInvoicesListInput":{"type":"object","properties":{"clientId":{"description":"Optional CRM client whose invoices should be listed.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"statuses":{"description":"Optional invoice statuses to include (draft, sent, paid, overdue, cancelled, refunded); an invoice matches when its status is any of them. Omit or pass an empty list for every status.","maxItems":6,"type":"array","items":{"type":"string","enum":["draft","sent","paid","overdue","cancelled","refunded"]}},"createdFromAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdToAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"query":{"description":"Optional text matched case-insensitively against the invoice number (plain digits such as 42 match anywhere in the number; the formatted form 0042-MF matches exactly), the CRM client name or company, and the CRM client email.","type":"string","maxLength":200},"sortBy":{"description":"Sort key: invoiceNumber (default), createdAt, totalGross, status or client (CRM client name). Missing values sort last; ties break on invoice id.","type":"string","enum":["invoiceNumber","createdAt","totalGross","status","client"]},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1},"sortDirection":{"type":"string","enum":["asc","desc"]},"includeTotal":{"default":true,"description":"Whether to count the invoices matching the filters across all pages (the output total). Pass false on list views that do not show a total; the count query is then skipped.","type":"boolean"}}},"OperationInvoicesListOutput":{"type":"object","properties":{"nextCursor":{"nullable":true,"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"contractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","sent","paid","overdue","cancelled","refunded"]},"type":{"type":"string","enum":["contract","product","meeting","offer","manual"]},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesListOutputDefinitionSchema0"}}},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR","USD"]},"dueAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"paidAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientFirstName":{"default":null,"nullable":true,"type":"string"},"clientLastName":{"default":null,"nullable":true,"type":"string"},"clientName":{"default":null,"nullable":true,"type":"string"},"sentToEmail":{"default":null,"nullable":true,"description":"Client email address the invoice email was last delivered to.","type":"string"},"language":{"description":"Language chosen for this invoice at creation. Absent means the invoice renders in the account language.","type":"string","enum":["de","en"]},"servicePeriodStart":{"description":"First day of the service period (YYYY-MM-DD). Absent means the invoice date is the service date.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"servicePeriodEnd":{"description":"Last day of the service period (YYYY-MM-DD); equal to servicePeriodStart for a single service date.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientEmail":{"default":null,"nullable":true,"type":"string"},"fileAvailable":{"type":"boolean"},"correctionKind":{"nullable":true,"type":"string","enum":["cancellation","credit_note"]},"correctsInvoice":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","invoiceNumber"],"additionalProperties":false},"correctionDocuments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["cancellation","credit_note"]},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","invoiceNumber","kind","totalGrossCents","createdAt"],"additionalProperties":false}},"capabilities":{"type":"object","properties":{"canDownload":{"type":"boolean"},"canSendEmail":{"type":"boolean"},"canMarkSent":{"type":"boolean"},"canMarkPaid":{"type":"boolean"},"canCancel":{"type":"boolean"},"canRefund":{"type":"boolean"}},"required":["canDownload","canSendEmail","canMarkSent","canMarkPaid","canCancel","canRefund"],"additionalProperties":false}},"required":["id","clientId","contractId","invoiceNumber","status","type","items","totalNetCents","totalGrossCents","currency","dueAt","sentAt","paidAt","clientFirstName","clientLastName","clientName","sentToEmail","createdAt","updatedAt","clientEmail","fileAvailable","correctionKind","correctsInvoice","correctionDocuments","capabilities"],"additionalProperties":false}}},"required":["nextCursor","items"],"additionalProperties":false},"OperationInvoicesListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesListOutputDefinitionSchema0"}}]},"OperationInvoicesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationInvoicesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesListErrorDefinitionSchema0"}}]},"OperationInvoicesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesListErrorDefinitionSchema1"}}]},"OperationInvoicesStatusUpdateInput":{"type":"object","properties":{"invoiceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"nextStatus":{"type":"string","enum":["draft","sent","paid","overdue","cancelled","refunded"]},"idempotencyKey":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["invoiceId","nextStatus"]},"OperationInvoicesStatusUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"contractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","sent","paid","overdue","cancelled","refunded"]},"type":{"type":"string","enum":["contract","product","meeting","offer","manual"]},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateOutputDefinitionSchema0"}}},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR","USD"]},"dueAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"paidAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientFirstName":{"default":null,"nullable":true,"type":"string"},"clientLastName":{"default":null,"nullable":true,"type":"string"},"clientName":{"default":null,"nullable":true,"type":"string"},"sentToEmail":{"default":null,"nullable":true,"description":"Client email address the invoice email was last delivered to.","type":"string"},"language":{"description":"Language chosen for this invoice at creation. Absent means the invoice renders in the account language.","type":"string","enum":["de","en"]},"servicePeriodStart":{"description":"First day of the service period (YYYY-MM-DD). Absent means the invoice date is the service date.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"servicePeriodEnd":{"description":"Last day of the service period (YYYY-MM-DD); equal to servicePeriodStart for a single service date.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"correctionDocument":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["cancellation","credit_note"]},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","invoiceNumber","kind","totalGrossCents","createdAt"],"additionalProperties":false}},"required":["id","clientId","contractId","invoiceNumber","status","type","items","totalNetCents","totalGrossCents","currency","dueAt","sentAt","paidAt","clientFirstName","clientLastName","clientName","sentToEmail","createdAt","updatedAt","correctionDocument"],"additionalProperties":false},"OperationInvoicesStatusUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateOutputDefinitionSchema0"}}]},"OperationInvoicesStatusUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_STATE","CONFLICT","IDEMPOTENCY_CONFLICT","AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationInvoicesStatusUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateErrorDefinitionSchema0"}}]},"OperationInvoicesStatusUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateErrorDefinitionSchema1"}}]},"OperationInvoicesSummaryGetInput":{"type":"object","properties":{"clientId":{"description":"Optional CRM client whose invoices should be listed.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"statuses":{"description":"Optional invoice statuses to include (draft, sent, paid, overdue, cancelled, refunded); an invoice matches when its status is any of them. Omit or pass an empty list for every status.","maxItems":6,"type":"array","items":{"type":"string","enum":["draft","sent","paid","overdue","cancelled","refunded"]}},"dateFrom":{"description":"Optional inclusive lower bound (ISO datetime) on the invoice creation time (createdAt). Omit for no lower bound.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dateTo":{"description":"Optional inclusive upper bound (ISO datetime) on the invoice creation time (createdAt). Omit both bounds for all time.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"query":{"description":"Optional text matched case-insensitively against the invoice number (plain digits such as 42 match anywhere in the number; the formatted form 0042-MF matches exactly), the CRM client name or company, and the CRM client email.","type":"string","maxLength":200}}},"OperationInvoicesSummaryGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["invoice_summary"],"description":"Stable id of the computed invoice summary resource."},"matched":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Invoices matching every filter, drafts included; equals the invoices.list total."},"totals":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","enum":["EUR","USD"],"description":"ISO currency code of the amounts."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Invoices in this currency that the totals cover."},"grossCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Gross volume in cents. Correction documents subtract, so it can be negative."},"netCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Net volume in cents. Correction documents subtract, so it can be negative."}},"required":["currency","count","grossCents","netCents"],"additionalProperties":false},"description":"Volume of the matching invoices per currency. Drafts are excluded unless statuses selects draft; cancelled invoices and their cancellation documents are excluded unless statuses selects cancelled. Refund credit notes subtract."},"byStatus":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","enum":["draft","sent","paid","overdue","cancelled","refunded"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"totals":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","enum":["EUR","USD"],"description":"ISO currency code of the amounts."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Invoices in this currency that the totals cover."},"grossCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Gross volume in cents. Correction documents subtract, so it can be negative."},"netCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Net volume in cents. Correction documents subtract, so it can be negative."}},"required":["currency","count","grossCents","netCents"],"additionalProperties":false},"description":"One entry per currency, the currency with the most invoices first."}},"required":["status","count","totals"],"additionalProperties":false},"description":"Matching invoices per status (only statuses with at least one invoice)."}},"required":["count","totals","byStatus"],"additionalProperties":false,"description":"The invoices matching every filter."},"statusFacets":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","enum":["draft","sent","paid","overdue","cancelled","refunded"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","count"],"additionalProperties":false},"description":"Invoice count per status under every filter except statuses, so a status picker shows what each choice yields."},"accountTotal":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"All invoices of the account, unfiltered."}},"required":["id","matched","statusFacets","accountTotal"],"additionalProperties":false},"OperationInvoicesSummaryGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationInvoicesSummaryGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetErrorDefinitionSchema0"}}]},"OperationInvoicesSummaryGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetErrorDefinitionSchema1"}}]},"OperationInvoicesTotalsGetInput":{"type":"object","properties":{"currency":{"type":"string","enum":["EUR","USD"],"description":"ISO currency code of every amount in the preview."},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"productId":{"description":"Optional product the line was taken from; stored as product_id on the invoice.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"description":"Line item title shown on the invoice."},"description":{"description":"Optional longer text shown under the line title.","type":"string"},"quantity":{"type":"integer","minimum":1,"maximum":10000,"description":"Number of units. Whole number, at least 1."},"unitNetCents":{"type":"integer","minimum":0,"maximum":1000000000,"description":"Net price of one unit in cents, before VAT."},"vatPercentage":{"type":"number","minimum":0,"maximum":100,"description":"VAT rate in percent applied to this line, for example 19 for 19 percent."},"vatExemptionReason":{"description":"Legal basis of a VAT-exempt 0 % line, for example \"Steuerfrei gemäß § 4 Nr. 21 UStG\". Omit to use the product or account default; ignored on lines with VAT.","type":"string","maxLength":300}},"required":["name","quantity","unitNetCents","vatPercentage"]},"description":"Line items to price, between 1 and 100 lines."}},"required":["currency","items"]},"OperationInvoicesTotalsGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["invoiceTotals"],"description":"Stable id of the computed totals resource."},"items":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"description":{"type":"string"},"quantity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount_net":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Net cents per unit."},"amount_gross":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Gross cents per unit, VAT included."},"vat_percentage":{"type":"number"},"vat_exemption_reason":{"description":"Legal basis of a VAT-exempt 0 % line.","type":"string"}},"required":["name","quantity","amount_net","amount_gross","vat_percentage"],"additionalProperties":false},"description":"Line items in the stored invoice shape. Pass them unchanged to invoices.create."},"lines":{"type":"array","items":{"type":"object","properties":{"netCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"vatCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"grossCents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["netCents","vatCents","grossCents"],"additionalProperties":false},"description":"Line totals in the same order as items."},"vatBreakdown":{"type":"array","items":{"type":"object","properties":{"vatPercentage":{"type":"number"},"netCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"vatCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["vatPercentage","netCents","vatCents"],"additionalProperties":false},"description":"Net and VAT totals grouped by VAT rate, ascending by rate. Each VAT amount is the rate applied once to the summed net of that rate (EN 16931 BR-CO-17)."},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalVatCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR","USD"]}},"required":["id","items","lines","vatBreakdown","totalNetCents","totalVatCents","totalGrossCents","currency"],"additionalProperties":false},"OperationInvoicesTotalsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationInvoicesTotalsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetErrorDefinitionSchema0"}}]},"OperationInvoicesTotalsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetErrorDefinitionSchema1"}}]},"OperationInvoicesWorkspaceGetInput":{"type":"object","properties":{"invoiceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Invoice to read. It must belong to the account."}},"required":["invoiceId"]},"OperationInvoicesWorkspaceGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"contractId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","sent","paid","overdue","cancelled","refunded"]},"type":{"type":"string","enum":["contract","product","meeting","offer","manual"]},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetOutputDefinitionSchema0"}}},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR","USD"]},"dueAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"paidAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientFirstName":{"type":"string"},"clientLastName":{"type":"string"},"clientName":{"type":"string"},"sentToEmail":{"description":"Client email address the invoice email was last delivered to.","type":"string"},"language":{"description":"Language chosen for this invoice at creation. Absent means the invoice renders in the account language.","type":"string","enum":["de","en"]},"servicePeriodStart":{"description":"First day of the service period (YYYY-MM-DD). Absent means the invoice date is the service date.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"servicePeriodEnd":{"description":"Last day of the service period (YYYY-MM-DD); equal to servicePeriodStart for a single service date.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"clientEmail":{"type":"string"},"fileAvailable":{"type":"boolean"},"correctionKind":{"nullable":true,"type":"string","enum":["cancellation","credit_note"]},"correctsInvoice":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","invoiceNumber"],"additionalProperties":false},"correctionDocuments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["cancellation","credit_note"]},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","invoiceNumber","kind","totalGrossCents","createdAt"],"additionalProperties":false}},"capabilities":{"type":"object","properties":{"canDownload":{"type":"boolean"},"canSendEmail":{"type":"boolean"},"canMarkSent":{"type":"boolean"},"canMarkPaid":{"type":"boolean"},"canCancel":{"type":"boolean"},"canRefund":{"type":"boolean"}},"required":["canDownload","canSendEmail","canMarkSent","canMarkPaid","canCancel","canRefund"],"additionalProperties":false},"paymentLinkUrl":{"nullable":true,"description":"Public pay link of the newest active short link for this invoice; null when none exists yet or the public app URL is not configured. Reading never creates a link.","type":"string"},"payments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"amountCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Payment amount in cents, in the payment currency."},"currency":{"type":"string","description":"ISO currency code of the payment amount."},"status":{"type":"string","enum":["pending","requires_action","succeeded","failed","refunded","cancelled","voided"]},"paymentMethod":{"type":"string","description":"How the payment was made, for example bank_transfer, manual or stripe."},"paidAt":{"nullable":true,"description":"When the payment was received; null while it is still pending.","type":"string"}},"required":["id","amountCents","currency","status","paymentMethod","paidAt"],"additionalProperties":false},"description":"Payment ledger rows linked to this invoice, newest first."}},"required":["id","clientId","invoiceNumber","status","type","items","totalNetCents","totalGrossCents","currency","createdAt","updatedAt","fileAvailable","correctionKind","correctsInvoice","correctionDocuments","capabilities","paymentLinkUrl","payments"],"additionalProperties":false},"OperationInvoicesWorkspaceGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetOutputDefinitionSchema0"}}]},"OperationInvoicesWorkspaceGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationInvoicesWorkspaceGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetErrorDefinitionSchema0"}}]},"OperationInvoicesWorkspaceGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetErrorDefinitionSchema1"}}]},"OperationMarketingBusinessContextGetInput":{"type":"object","properties":{"objectiveKind":{"type":"string","enum":["lead_reactivation","lead_acquisition","paid_acquisition"]}},"additionalProperties":false},"OperationMarketingBusinessContextGetOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1},"contextId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO site context id"},"websiteUrl":{"default":null,"nullable":true,"type":"string"},"audience":{"default":null,"nullable":true,"type":"string"},"offer":{"default":null,"nullable":true,"type":"string"},"services":{"default":null,"nullable":true,"type":"array","items":{"type":"string"}},"capacity":{"default":null,"nullable":true,"type":"object","properties":{"newClientsPerWeek":{"type":"integer","minimum":0,"maximum":10000}},"required":["newClientsPerWeek"],"additionalProperties":false},"permittedBudget":{"default":null,"nullable":true,"type":"object","properties":{"amountMinor":{"type":"integer","minimum":0,"maximum":1000000000000},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"period":{"type":"string","enum":["month"]}},"required":["amountMinor","currency","period"],"additionalProperties":false},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["websiteUrl","audience","offer","services"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"provenance":{"type":"string","enum":["inferred","confirmed","user_entered"]},"sourceUrl":{"default":null,"nullable":true,"type":"string"},"updatedAt":{"type":"string","minLength":1}},"required":["field","value","provenance","sourceUrl","updatedAt"],"additionalProperties":false}},"gaps":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["websiteUrl","audience","offer","services"]},"reason":{"type":"string","enum":["missing"]}},"required":["field","reason"],"additionalProperties":false}},"constraintDetails":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["capacity","permittedBudget"]},"value":{"anyOf":[{"type":"object","properties":{"newClientsPerWeek":{"type":"integer","minimum":0,"maximum":10000}},"required":["newClientsPerWeek"],"additionalProperties":false},{"type":"object","properties":{"amountMinor":{"type":"integer","minimum":0,"maximum":1000000000000},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"period":{"type":"string","enum":["month"]}},"required":["amountMinor","currency","period"],"additionalProperties":false}]},"provenance":{"type":"string","enum":["inferred","confirmed","user_entered"]},"sourceUrl":{"default":null,"nullable":true,"type":"string"},"updatedAt":{"type":"string","minLength":1}},"required":["field","value","provenance","sourceUrl","updatedAt"],"additionalProperties":false}},"constraintGaps":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["capacity","permittedBudget"]},"reason":{"type":"string","enum":["missing"]}},"required":["field","reason"],"additionalProperties":false}}},"required":["id","contextId","websiteUrl","audience","offer","services","capacity","permittedBudget","details","gaps","constraintDetails","constraintGaps"],"additionalProperties":false},"OperationMarketingBusinessContextGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingBusinessContextGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetErrorDefinitionSchema0"}}]},"OperationMarketingBusinessContextGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetErrorDefinitionSchema1"}}]},"OperationMarketingBusinessContextUpdateInput":{"type":"object","properties":{"fields":{"type":"object","properties":{"websiteUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"audience":{"nullable":true,"type":"string","minLength":1,"maxLength":2000},"offer":{"nullable":true,"type":"string","minLength":1,"maxLength":4000},"services":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"capacity":{"nullable":true,"type":"object","properties":{"newClientsPerWeek":{"type":"integer","minimum":0,"maximum":10000}},"required":["newClientsPerWeek"],"additionalProperties":false},"permittedBudget":{"nullable":true,"type":"object","properties":{"amountMinor":{"type":"integer","minimum":0,"maximum":1000000000000},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"period":{"type":"string","enum":["month"]}},"required":["amountMinor","currency","period"],"additionalProperties":false}},"additionalProperties":false},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["fields"],"additionalProperties":false},"OperationMarketingBusinessContextUpdateOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1},"contextId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO site context id"},"websiteUrl":{"default":null,"nullable":true,"type":"string"},"audience":{"default":null,"nullable":true,"type":"string"},"offer":{"default":null,"nullable":true,"type":"string"},"services":{"default":null,"nullable":true,"type":"array","items":{"type":"string"}},"capacity":{"default":null,"nullable":true,"type":"object","properties":{"newClientsPerWeek":{"type":"integer","minimum":0,"maximum":10000}},"required":["newClientsPerWeek"],"additionalProperties":false},"permittedBudget":{"default":null,"nullable":true,"type":"object","properties":{"amountMinor":{"type":"integer","minimum":0,"maximum":1000000000000},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"period":{"type":"string","enum":["month"]}},"required":["amountMinor","currency","period"],"additionalProperties":false},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["websiteUrl","audience","offer","services"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"provenance":{"type":"string","enum":["inferred","confirmed","user_entered"]},"sourceUrl":{"default":null,"nullable":true,"type":"string"},"updatedAt":{"type":"string","minLength":1}},"required":["field","value","provenance","sourceUrl","updatedAt"],"additionalProperties":false}},"gaps":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["websiteUrl","audience","offer","services"]},"reason":{"type":"string","enum":["missing"]}},"required":["field","reason"],"additionalProperties":false}},"constraintDetails":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["capacity","permittedBudget"]},"value":{"anyOf":[{"type":"object","properties":{"newClientsPerWeek":{"type":"integer","minimum":0,"maximum":10000}},"required":["newClientsPerWeek"],"additionalProperties":false},{"type":"object","properties":{"amountMinor":{"type":"integer","minimum":0,"maximum":1000000000000},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"period":{"type":"string","enum":["month"]}},"required":["amountMinor","currency","period"],"additionalProperties":false}]},"provenance":{"type":"string","enum":["inferred","confirmed","user_entered"]},"sourceUrl":{"default":null,"nullable":true,"type":"string"},"updatedAt":{"type":"string","minLength":1}},"required":["field","value","provenance","sourceUrl","updatedAt"],"additionalProperties":false}},"constraintGaps":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["capacity","permittedBudget"]},"reason":{"type":"string","enum":["missing"]}},"required":["field","reason"],"additionalProperties":false}}},"required":["id","contextId","websiteUrl","audience","offer","services","capacity","permittedBudget","details","gaps","constraintDetails","constraintGaps"],"additionalProperties":false},"OperationMarketingBusinessContextUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","BUSINESS_CONTEXT_NOT_FOUND","BUSINESS_CONTEXT_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingBusinessContextUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateErrorDefinitionSchema0"}}]},"OperationMarketingBusinessContextUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateErrorDefinitionSchema1"}}]},"OperationMarketingBusinessContextWebsiteDraftCreateInput":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"additionalProperties":false},"OperationMarketingBusinessContextWebsiteDraftCreateOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1},"contextId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO site context id"},"websiteUrl":{"default":null,"nullable":true,"type":"string"},"audience":{"default":null,"nullable":true,"type":"string"},"offer":{"default":null,"nullable":true,"type":"string"},"services":{"default":null,"nullable":true,"type":"array","items":{"type":"string"}},"capacity":{"default":null,"nullable":true,"type":"object","properties":{"newClientsPerWeek":{"type":"integer","minimum":0,"maximum":10000}},"required":["newClientsPerWeek"],"additionalProperties":false},"permittedBudget":{"default":null,"nullable":true,"type":"object","properties":{"amountMinor":{"type":"integer","minimum":0,"maximum":1000000000000},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"period":{"type":"string","enum":["month"]}},"required":["amountMinor","currency","period"],"additionalProperties":false},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["websiteUrl","audience","offer","services"]},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"provenance":{"type":"string","enum":["inferred","confirmed","user_entered"]},"sourceUrl":{"default":null,"nullable":true,"type":"string"},"updatedAt":{"type":"string","minLength":1}},"required":["field","value","provenance","sourceUrl","updatedAt"],"additionalProperties":false}},"gaps":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["websiteUrl","audience","offer","services"]},"reason":{"type":"string","enum":["missing"]}},"required":["field","reason"],"additionalProperties":false}},"constraintDetails":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["capacity","permittedBudget"]},"value":{"anyOf":[{"type":"object","properties":{"newClientsPerWeek":{"type":"integer","minimum":0,"maximum":10000}},"required":["newClientsPerWeek"],"additionalProperties":false},{"type":"object","properties":{"amountMinor":{"type":"integer","minimum":0,"maximum":1000000000000},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"period":{"type":"string","enum":["month"]}},"required":["amountMinor","currency","period"],"additionalProperties":false}]},"provenance":{"type":"string","enum":["inferred","confirmed","user_entered"]},"sourceUrl":{"default":null,"nullable":true,"type":"string"},"updatedAt":{"type":"string","minLength":1}},"required":["field","value","provenance","sourceUrl","updatedAt"],"additionalProperties":false}},"constraintGaps":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["capacity","permittedBudget"]},"reason":{"type":"string","enum":["missing"]}},"required":["field","reason"],"additionalProperties":false}},"inferred":{"type":"array","items":{"type":"string","enum":["websiteUrl","audience","offer","services"]}},"kept":{"type":"array","items":{"type":"string","enum":["websiteUrl","audience","offer","services"]}}},"required":["id","contextId","websiteUrl","audience","offer","services","capacity","permittedBudget","details","gaps","constraintDetails","constraintGaps","inferred","kept"],"additionalProperties":false},"OperationMarketingBusinessContextWebsiteDraftCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AI_UNAVAILABLE","BUSINESS_CONTEXT_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingBusinessContextWebsiteDraftCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateErrorDefinitionSchema0"}}]},"OperationMarketingBusinessContextWebsiteDraftCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoActionsCreateInput":{"type":"object","properties":{"workId":{"type":"string","minLength":1,"maxLength":255},"siteId":{"type":"string","minLength":1,"maxLength":255},"title":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":4000},"kind":{"type":"string","enum":["research","monitor","prepare_draft","prepare_change","publication","measurement"]},"priority":{"default":50,"type":"integer","minimum":0,"maximum":100},"targetDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"control":{"default":"manual","type":"string","enum":["manual","delegated"]},"allowedOperationIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"requiresReview":{"default":false,"type":"boolean"},"estimatedCostCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxCostCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"links":{"default":{"executionIds":[],"measurementIds":[]},"type":"object","properties":{"opportunityId":{"type":"string","minLength":1,"maxLength":255},"findingId":{"type":"string","minLength":1,"maxLength":255},"contentRevisionId":{"type":"string","minLength":1,"maxLength":255},"executionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"reviewRequestId":{"type":"string","minLength":1,"maxLength":255},"repositoryChangeId":{"type":"string","minLength":1,"maxLength":255},"pullRequestUrl":{"type":"string","maxLength":2048,"format":"uri"},"previewUrl":{"type":"string","maxLength":2048,"format":"uri"},"publicationId":{"type":"string","minLength":1,"maxLength":255},"measurementIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["executionIds","measurementIds"],"additionalProperties":false},"fenceToken":{"type":"string","minLength":1,"maxLength":255},"operationId":{"type":"string","minLength":1,"maxLength":255},"summary":{"type":"string","minLength":1,"maxLength":500},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["workId","title","kind","allowedOperationIds","fenceToken","operationId","summary","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoActionsCreateOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"workId":{"type":"string","minLength":1,"maxLength":255},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"createdByUserId":{"type":"string","minLength":1,"maxLength":255},"title":{"type":"string","minLength":1,"maxLength":300},"description":{"nullable":true,"type":"string","maxLength":4000},"kind":{"type":"string","enum":["research","monitor","prepare_draft","prepare_change","publication","measurement"]},"priority":{"type":"integer","minimum":0,"maximum":100},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"planningStatus":{"type":"string","enum":["draft","planned","blocked","canceled","completed"]},"executionStatus":{"type":"string","enum":["idle","queued","running","succeeded","failed","canceled"]},"reviewStatus":{"type":"string","enum":["not_required","pending","approved","rejected"]},"publicationStatus":{"type":"string","enum":["not_applicable","pending","merged","live","failed"]},"measurementStatus":{"type":"string","enum":["not_started","measuring","measured","failed"]},"control":{"type":"string","enum":["manual","delegated"]},"improvement":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"hypothesis":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"propertyUrl":{"type":"string","minLength":1},"pageUrl":{"type":"string","format":"uri"},"query":{"default":null,"nullable":true,"type":"string"},"country":{"default":null,"nullable":true,"type":"string"},"device":{"nullable":true,"type":"string","enum":["desktop","mobile","tablet"]},"searchType":{"default":"web","type":"string","enum":["web"]}},"required":["propertyUrl","pageUrl","query","country","device","searchType"],"additionalProperties":false},"baseline":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"sourceRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"policy":{"type":"object","properties":{"windowDays":{"type":"integer","minimum":7,"maximum":90},"lagDays":{"type":"integer","minimum":1,"maximum":30},"minimumImpressions":{"type":"integer","minimum":1,"maximum":9007199254740991},"cooldownDays":{"type":"integer","minimum":1,"maximum":180}},"required":["windowDays","lagDays","minimumImpressions","cooldownDays"],"additionalProperties":false},"live":{"nullable":true,"type":"object","properties":{"publicationId":{"type":"string","minLength":1},"commitSha":{"type":"string","minLength":1},"deploymentId":{"nullable":true,"type":"string","minLength":1},"verifiedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canonicalUrl":{"type":"string","format":"uri"}},"required":["publicationId","commitSha","deploymentId","verifiedAt","canonicalUrl"],"additionalProperties":false},"nextEvaluationAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluation":{"nullable":true,"type":"object","properties":{"id":{"type":"string","minLength":1},"observation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"decision":{"type":"string","enum":["promising","inconclusive","needs_investigation"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"changes":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]},"nextEligibleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","observation","decision","reasons","evaluatedAt","changes","interpretation","nextEligibleAt"],"additionalProperties":false}},"required":["version","hypothesis","scope","baseline","sourceRevision","policy","live","nextEvaluationAt","evaluation"],"additionalProperties":false},"aiEvaluation":{"nullable":true,"type":"object","properties":{"promptId":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"baselineAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"comparison":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string"},"baseline":{"type":"string","enum":["absent","mentioned","cited"]},"current":{"nullable":true,"type":"string","enum":["absent","mentioned","cited"]},"checkedAt":{"nullable":true,"type":"string"},"change":{"nullable":true,"type":"string","enum":["improved","declined","same"]}},"required":["model","baseline","current","checkedAt","change"],"additionalProperties":false}},"decision":{"type":"string","enum":["improved","declined","unchanged","inconclusive"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]}},"required":["promptId","prompt","baselineAt","evaluatedAt","comparison","decision","reasons","interpretation"],"additionalProperties":false},"handoff":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["ai_answer_block"]},"promptId":{"type":"string","minLength":1,"maxLength":255},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"question":{"type":"string","minLength":1,"maxLength":200},"answer":{"type":"string","minLength":1,"maxLength":1000},"faqMarkdown":{"type":"string","minLength":1,"maxLength":4000},"faqHtml":{"type":"string","minLength":1,"maxLength":4000},"jsonLdScript":{"type":"string","minLength":1,"maxLength":4000},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["kind","promptId","pageUrl","question","answer","faqMarkdown","faqHtml","jsonLdScript","generatedAt","verifiedAt"],"additionalProperties":false},"spec":{"nullable":true,"type":"object","properties":{"executorId":{"type":"string","minLength":1,"maxLength":255},"params":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateOutputDefinitionSchema0"}},"riskTier":{"type":"string","enum":["low","medium","high"]},"rationale":{"type":"string","minLength":1,"maxLength":4000},"expectedEffect":{"type":"string","minLength":1,"maxLength":2000},"copy":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512}},"required":["path"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt_audit"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512},"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["path","finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["discovery_defect"]},"params":{"type":"object","properties":{"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["weak_ctr_title"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ctr":{"type":"number","minimum":0,"maximum":1},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","impressions","ctr","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["verified_content_gap"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"finding":{"type":"string","minLength":1,"maxLength":4000},"askedTopics":{"maxItems":3,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","finding","askedTopics","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["useful_internal_link"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"destinationUrl":{"type":"string","minLength":1,"maxLength":2048},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","destinationUrl","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false}]},"aiAnswer":{"type":"object","properties":{"promptId":{"type":"string","minLength":1,"maxLength":255},"prompt":{"type":"string","minLength":1,"maxLength":2000},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"state":{"type":"string","enum":["not_mentioned","not_cited"]},"answeredModels":{"type":"integer","minimum":0,"maximum":20},"checkedModels":{"type":"integer","minimum":0,"maximum":20},"competitorDomains":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"recheckDays":{"type":"integer","minimum":1,"maximum":90}},"required":["promptId","prompt","pageUrl","state","answeredModels","checkedModels","competitorDomains","recheckDays"],"additionalProperties":false},"evidenceRefs":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"dedupeKey":{"type":"string","minLength":1,"maxLength":255},"planId":{"type":"string","minLength":1,"maxLength":255},"dependsOn":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["executorId","params","riskTier","rationale","expectedEffect","evidenceRefs","dedupeKey","planId","dependsOn"],"additionalProperties":false},"allowedOperationIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"requiresReview":{"type":"boolean"},"estimatedCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"maxCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"reservedCostCents":{"type":"integer","minimum":0,"maximum":10000000},"budgetReservationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"actualCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"lastError":{"nullable":true,"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":100},"message":{"type":"string","minLength":1,"maxLength":500},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateOutputDefinitionSchema1"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false}},"required":["code","message"],"additionalProperties":false},"links":{"type":"object","properties":{"opportunityId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"findingId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"contentRevisionId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"executionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"reviewRequestId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"repositoryChangeId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"pullRequestUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"previewUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"publicationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"measurementIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["opportunityId","findingId","contentRevisionId","executionIds","reviewRequestId","repositoryChangeId","pullRequestUrl","previewUrl","publicationId","measurementIds"],"additionalProperties":false},"authorityRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fenceToken":{"type":"string","minLength":1,"maxLength":255},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"currency":{"type":"string","enum":["EUR"]},"preview":{"nullable":true,"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"contentPreview":{"nullable":true,"type":"string"},"truncated":{"type":"boolean"}},"required":["path","contentPreview","truncated"],"additionalProperties":false}},"urls":{"type":"array","items":{"type":"string"}}},"required":["files","urls"],"additionalProperties":false},"verification":{"type":"object","properties":{"strategy":{"type":"string","enum":["none","live_fetch","recheck_ai"]},"status":{"type":"string","enum":["not_applicable","pending","verified","failed"]}},"required":["strategy","status"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canRequestReview":{"type":"boolean"},"canApprove":{"type":"boolean"},"canReject":{"type":"boolean"},"canExecute":{"type":"boolean"},"canCancel":{"type":"boolean"}},"required":["canRequestReview","canApprove","canReject","canExecute","canCancel"],"additionalProperties":false}},"required":["id","accountId","workId","siteId","createdByUserId","title","description","kind","priority","targetDate","planningStatus","executionStatus","reviewStatus","publicationStatus","measurementStatus","control","improvement","aiEvaluation","handoff","spec","allowedOperationIds","requiresReview","estimatedCostCents","maxCostCents","reservedCostCents","budgetReservationId","actualCostCents","lastError","links","authorityRevision","fenceToken","revision","createdAt","updatedAt","lastProgressAt","currency","preview","verification","capabilities"],"additionalProperties":false},"OperationMarketingSeoActionsCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateOutputDefinitionSchema0"}}]},"OperationMarketingSeoActionsCreateOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateOutputDefinitionSchema1"}}]},"OperationMarketingSeoActionsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ACTION_IDEMPOTENCY_CONFLICT","SEO_ACTION_OPERATION_INVALID","SEO_ACTION_BUDGET_EXCEEDED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoActionsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoActionsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoActionsExecuteInput":{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":255,"x-moreflow-reference":{"resolver":"marketing.seo.actions.get"}},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"operationId":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["actionId","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoActionsExecuteOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"workId":{"type":"string","minLength":1,"maxLength":255},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"createdByUserId":{"type":"string","minLength":1,"maxLength":255},"title":{"type":"string","minLength":1,"maxLength":300},"description":{"nullable":true,"type":"string","maxLength":4000},"kind":{"type":"string","enum":["research","monitor","prepare_draft","prepare_change","publication","measurement"]},"priority":{"type":"integer","minimum":0,"maximum":100},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"planningStatus":{"type":"string","enum":["draft","planned","blocked","canceled","completed"]},"executionStatus":{"type":"string","enum":["idle","queued","running","succeeded","failed","canceled"]},"reviewStatus":{"type":"string","enum":["not_required","pending","approved","rejected"]},"publicationStatus":{"type":"string","enum":["not_applicable","pending","merged","live","failed"]},"measurementStatus":{"type":"string","enum":["not_started","measuring","measured","failed"]},"control":{"type":"string","enum":["manual","delegated"]},"improvement":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"hypothesis":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"propertyUrl":{"type":"string","minLength":1},"pageUrl":{"type":"string","format":"uri"},"query":{"default":null,"nullable":true,"type":"string"},"country":{"default":null,"nullable":true,"type":"string"},"device":{"nullable":true,"type":"string","enum":["desktop","mobile","tablet"]},"searchType":{"default":"web","type":"string","enum":["web"]}},"required":["propertyUrl","pageUrl","query","country","device","searchType"],"additionalProperties":false},"baseline":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"sourceRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"policy":{"type":"object","properties":{"windowDays":{"type":"integer","minimum":7,"maximum":90},"lagDays":{"type":"integer","minimum":1,"maximum":30},"minimumImpressions":{"type":"integer","minimum":1,"maximum":9007199254740991},"cooldownDays":{"type":"integer","minimum":1,"maximum":180}},"required":["windowDays","lagDays","minimumImpressions","cooldownDays"],"additionalProperties":false},"live":{"nullable":true,"type":"object","properties":{"publicationId":{"type":"string","minLength":1},"commitSha":{"type":"string","minLength":1},"deploymentId":{"nullable":true,"type":"string","minLength":1},"verifiedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canonicalUrl":{"type":"string","format":"uri"}},"required":["publicationId","commitSha","deploymentId","verifiedAt","canonicalUrl"],"additionalProperties":false},"nextEvaluationAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluation":{"nullable":true,"type":"object","properties":{"id":{"type":"string","minLength":1},"observation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"decision":{"type":"string","enum":["promising","inconclusive","needs_investigation"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"changes":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]},"nextEligibleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","observation","decision","reasons","evaluatedAt","changes","interpretation","nextEligibleAt"],"additionalProperties":false}},"required":["version","hypothesis","scope","baseline","sourceRevision","policy","live","nextEvaluationAt","evaluation"],"additionalProperties":false},"aiEvaluation":{"nullable":true,"type":"object","properties":{"promptId":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"baselineAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"comparison":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string"},"baseline":{"type":"string","enum":["absent","mentioned","cited"]},"current":{"nullable":true,"type":"string","enum":["absent","mentioned","cited"]},"checkedAt":{"nullable":true,"type":"string"},"change":{"nullable":true,"type":"string","enum":["improved","declined","same"]}},"required":["model","baseline","current","checkedAt","change"],"additionalProperties":false}},"decision":{"type":"string","enum":["improved","declined","unchanged","inconclusive"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]}},"required":["promptId","prompt","baselineAt","evaluatedAt","comparison","decision","reasons","interpretation"],"additionalProperties":false},"handoff":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["ai_answer_block"]},"promptId":{"type":"string","minLength":1,"maxLength":255},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"question":{"type":"string","minLength":1,"maxLength":200},"answer":{"type":"string","minLength":1,"maxLength":1000},"faqMarkdown":{"type":"string","minLength":1,"maxLength":4000},"faqHtml":{"type":"string","minLength":1,"maxLength":4000},"jsonLdScript":{"type":"string","minLength":1,"maxLength":4000},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["kind","promptId","pageUrl","question","answer","faqMarkdown","faqHtml","jsonLdScript","generatedAt","verifiedAt"],"additionalProperties":false},"spec":{"nullable":true,"type":"object","properties":{"executorId":{"type":"string","minLength":1,"maxLength":255},"params":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteOutputDefinitionSchema0"}},"riskTier":{"type":"string","enum":["low","medium","high"]},"rationale":{"type":"string","minLength":1,"maxLength":4000},"expectedEffect":{"type":"string","minLength":1,"maxLength":2000},"copy":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512}},"required":["path"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt_audit"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512},"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["path","finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["discovery_defect"]},"params":{"type":"object","properties":{"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["weak_ctr_title"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ctr":{"type":"number","minimum":0,"maximum":1},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","impressions","ctr","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["verified_content_gap"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"finding":{"type":"string","minLength":1,"maxLength":4000},"askedTopics":{"maxItems":3,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","finding","askedTopics","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["useful_internal_link"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"destinationUrl":{"type":"string","minLength":1,"maxLength":2048},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","destinationUrl","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false}]},"aiAnswer":{"type":"object","properties":{"promptId":{"type":"string","minLength":1,"maxLength":255},"prompt":{"type":"string","minLength":1,"maxLength":2000},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"state":{"type":"string","enum":["not_mentioned","not_cited"]},"answeredModels":{"type":"integer","minimum":0,"maximum":20},"checkedModels":{"type":"integer","minimum":0,"maximum":20},"competitorDomains":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"recheckDays":{"type":"integer","minimum":1,"maximum":90}},"required":["promptId","prompt","pageUrl","state","answeredModels","checkedModels","competitorDomains","recheckDays"],"additionalProperties":false},"evidenceRefs":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"dedupeKey":{"type":"string","minLength":1,"maxLength":255},"planId":{"type":"string","minLength":1,"maxLength":255},"dependsOn":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["executorId","params","riskTier","rationale","expectedEffect","evidenceRefs","dedupeKey","planId","dependsOn"],"additionalProperties":false},"allowedOperationIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"requiresReview":{"type":"boolean"},"estimatedCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"maxCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"reservedCostCents":{"type":"integer","minimum":0,"maximum":10000000},"budgetReservationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"actualCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"lastError":{"nullable":true,"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":100},"message":{"type":"string","minLength":1,"maxLength":500},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteOutputDefinitionSchema1"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false}},"required":["code","message"],"additionalProperties":false},"links":{"type":"object","properties":{"opportunityId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"findingId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"contentRevisionId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"executionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"reviewRequestId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"repositoryChangeId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"pullRequestUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"previewUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"publicationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"measurementIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["opportunityId","findingId","contentRevisionId","executionIds","reviewRequestId","repositoryChangeId","pullRequestUrl","previewUrl","publicationId","measurementIds"],"additionalProperties":false},"authorityRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fenceToken":{"type":"string","minLength":1,"maxLength":255},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"currency":{"type":"string","enum":["EUR"]},"preview":{"nullable":true,"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"contentPreview":{"nullable":true,"type":"string"},"truncated":{"type":"boolean"}},"required":["path","contentPreview","truncated"],"additionalProperties":false}},"urls":{"type":"array","items":{"type":"string"}}},"required":["files","urls"],"additionalProperties":false},"verification":{"type":"object","properties":{"strategy":{"type":"string","enum":["none","live_fetch","recheck_ai"]},"status":{"type":"string","enum":["not_applicable","pending","verified","failed"]}},"required":["strategy","status"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canRequestReview":{"type":"boolean"},"canApprove":{"type":"boolean"},"canReject":{"type":"boolean"},"canExecute":{"type":"boolean"},"canCancel":{"type":"boolean"}},"required":["canRequestReview","canApprove","canReject","canExecute","canCancel"],"additionalProperties":false},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"executionId":{"type":"string","x-moreflow-opaque":{"reason":"Durable execution attempt correlation handle; action detail includes its history."}},"result":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteOutputDefinitionSchema2"}]}},"required":["id","accountId","workId","siteId","createdByUserId","title","description","kind","priority","targetDate","planningStatus","executionStatus","reviewStatus","publicationStatus","measurementStatus","control","improvement","aiEvaluation","handoff","spec","allowedOperationIds","requiresReview","estimatedCostCents","maxCostCents","reservedCostCents","budgetReservationId","actualCostCents","lastError","links","authorityRevision","fenceToken","revision","createdAt","updatedAt","lastProgressAt","currency","preview","verification","capabilities","status","executionId","result"],"additionalProperties":false},"OperationMarketingSeoActionsExecuteOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteOutputDefinitionSchema0"}}]},"OperationMarketingSeoActionsExecuteOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteOutputDefinitionSchema1"}}]},"OperationMarketingSeoActionsExecuteOutputDefinitionSchema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteOutputDefinitionSchema2"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteOutputDefinitionSchema2"}}]},"OperationMarketingSeoActionsExecuteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ACTION_NOT_FOUND","SEO_ACTION_REVIEW_REQUIRED","SEO_ACTION_EXECUTOR_MISSING","SEO_ACTION_EXECUTOR_INVALID","SEO_ACTION_EXECUTOR_PARAMS_INVALID","SEO_ACTION_OPERATION_INVALID","SEO_EXECUTOR_UNAVAILABLE","SEO_ACTION_TAKEN_OVER","SEO_AUTOMATION_PAUSED","SEO_FULL_AUTONOMY_APPROVAL_REVOKED","SEO_ACTION_START_CONFLICT","SEO_FULL_AUTONOMY_REVERT_PENDING","SEO_IMPROVEMENT_BASELINE_REQUIRED","SEO_PLAN_REPOSITORY_REQUIRED","SEO_ARTIFACT_BINDING_INVALID","SEO_ACTION_EXECUTION_LINK_FAILED","SEO_ACTION_AUTHORITY_REVOKED","SEO_EXECUTOR_FAILED","SEO_ACTION_TARGET_REQUIRED","SEO_BASELINE_REQUIRED","SEO_SEARCH_CONSOLE_PROPERTY_REQUIRED","SEO_ACTION_AUDIT_REQUIRED","SEO_ACTION_ALREADY_TERMINAL","SEO_ACTION_TRANSITION_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoActionsExecuteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteErrorDefinitionSchema0"}}]},"OperationMarketingSeoActionsExecuteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteErrorDefinitionSchema1"}}]},"OperationMarketingSeoActionsGetInput":{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":255},"historyCursor":{"type":"string","minLength":1,"maxLength":255},"historyLimit":{"default":50,"type":"integer","minimum":1,"maximum":100}},"required":["actionId"],"additionalProperties":false},"OperationMarketingSeoActionsGetOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"workId":{"type":"string","minLength":1,"maxLength":255},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"createdByUserId":{"type":"string","minLength":1,"maxLength":255},"title":{"type":"string","minLength":1,"maxLength":300},"description":{"nullable":true,"type":"string","maxLength":4000},"kind":{"type":"string","enum":["research","monitor","prepare_draft","prepare_change","publication","measurement"]},"priority":{"type":"integer","minimum":0,"maximum":100},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"planningStatus":{"type":"string","enum":["draft","planned","blocked","canceled","completed"]},"executionStatus":{"type":"string","enum":["idle","queued","running","succeeded","failed","canceled"]},"reviewStatus":{"type":"string","enum":["not_required","pending","approved","rejected"]},"publicationStatus":{"type":"string","enum":["not_applicable","pending","merged","live","failed"]},"measurementStatus":{"type":"string","enum":["not_started","measuring","measured","failed"]},"control":{"type":"string","enum":["manual","delegated"]},"improvement":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"hypothesis":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"propertyUrl":{"type":"string","minLength":1},"pageUrl":{"type":"string","format":"uri"},"query":{"default":null,"nullable":true,"type":"string"},"country":{"default":null,"nullable":true,"type":"string"},"device":{"nullable":true,"type":"string","enum":["desktop","mobile","tablet"]},"searchType":{"default":"web","type":"string","enum":["web"]}},"required":["propertyUrl","pageUrl","query","country","device","searchType"],"additionalProperties":false},"baseline":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"sourceRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"policy":{"type":"object","properties":{"windowDays":{"type":"integer","minimum":7,"maximum":90},"lagDays":{"type":"integer","minimum":1,"maximum":30},"minimumImpressions":{"type":"integer","minimum":1,"maximum":9007199254740991},"cooldownDays":{"type":"integer","minimum":1,"maximum":180}},"required":["windowDays","lagDays","minimumImpressions","cooldownDays"],"additionalProperties":false},"live":{"nullable":true,"type":"object","properties":{"publicationId":{"type":"string","minLength":1},"commitSha":{"type":"string","minLength":1},"deploymentId":{"nullable":true,"type":"string","minLength":1},"verifiedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canonicalUrl":{"type":"string","format":"uri"}},"required":["publicationId","commitSha","deploymentId","verifiedAt","canonicalUrl"],"additionalProperties":false},"nextEvaluationAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluation":{"nullable":true,"type":"object","properties":{"id":{"type":"string","minLength":1},"observation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"decision":{"type":"string","enum":["promising","inconclusive","needs_investigation"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"changes":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]},"nextEligibleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","observation","decision","reasons","evaluatedAt","changes","interpretation","nextEligibleAt"],"additionalProperties":false}},"required":["version","hypothesis","scope","baseline","sourceRevision","policy","live","nextEvaluationAt","evaluation"],"additionalProperties":false},"aiEvaluation":{"nullable":true,"type":"object","properties":{"promptId":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"baselineAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"comparison":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string"},"baseline":{"type":"string","enum":["absent","mentioned","cited"]},"current":{"nullable":true,"type":"string","enum":["absent","mentioned","cited"]},"checkedAt":{"nullable":true,"type":"string"},"change":{"nullable":true,"type":"string","enum":["improved","declined","same"]}},"required":["model","baseline","current","checkedAt","change"],"additionalProperties":false}},"decision":{"type":"string","enum":["improved","declined","unchanged","inconclusive"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]}},"required":["promptId","prompt","baselineAt","evaluatedAt","comparison","decision","reasons","interpretation"],"additionalProperties":false},"handoff":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["ai_answer_block"]},"promptId":{"type":"string","minLength":1,"maxLength":255},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"question":{"type":"string","minLength":1,"maxLength":200},"answer":{"type":"string","minLength":1,"maxLength":1000},"faqMarkdown":{"type":"string","minLength":1,"maxLength":4000},"faqHtml":{"type":"string","minLength":1,"maxLength":4000},"jsonLdScript":{"type":"string","minLength":1,"maxLength":4000},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["kind","promptId","pageUrl","question","answer","faqMarkdown","faqHtml","jsonLdScript","generatedAt","verifiedAt"],"additionalProperties":false},"spec":{"nullable":true,"type":"object","properties":{"executorId":{"type":"string","minLength":1,"maxLength":255},"params":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetOutputDefinitionSchema0"}},"riskTier":{"type":"string","enum":["low","medium","high"]},"rationale":{"type":"string","minLength":1,"maxLength":4000},"expectedEffect":{"type":"string","minLength":1,"maxLength":2000},"copy":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512}},"required":["path"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt_audit"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512},"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["path","finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["discovery_defect"]},"params":{"type":"object","properties":{"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["weak_ctr_title"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ctr":{"type":"number","minimum":0,"maximum":1},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","impressions","ctr","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["verified_content_gap"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"finding":{"type":"string","minLength":1,"maxLength":4000},"askedTopics":{"maxItems":3,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","finding","askedTopics","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["useful_internal_link"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"destinationUrl":{"type":"string","minLength":1,"maxLength":2048},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","destinationUrl","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false}]},"aiAnswer":{"type":"object","properties":{"promptId":{"type":"string","minLength":1,"maxLength":255},"prompt":{"type":"string","minLength":1,"maxLength":2000},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"state":{"type":"string","enum":["not_mentioned","not_cited"]},"answeredModels":{"type":"integer","minimum":0,"maximum":20},"checkedModels":{"type":"integer","minimum":0,"maximum":20},"competitorDomains":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"recheckDays":{"type":"integer","minimum":1,"maximum":90}},"required":["promptId","prompt","pageUrl","state","answeredModels","checkedModels","competitorDomains","recheckDays"],"additionalProperties":false},"evidenceRefs":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"dedupeKey":{"type":"string","minLength":1,"maxLength":255},"planId":{"type":"string","minLength":1,"maxLength":255},"dependsOn":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["executorId","params","riskTier","rationale","expectedEffect","evidenceRefs","dedupeKey","planId","dependsOn"],"additionalProperties":false},"allowedOperationIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"requiresReview":{"type":"boolean"},"estimatedCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"maxCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"reservedCostCents":{"type":"integer","minimum":0,"maximum":10000000},"budgetReservationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"actualCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"lastError":{"nullable":true,"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":100},"message":{"type":"string","minLength":1,"maxLength":500},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetOutputDefinitionSchema1"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false}},"required":["code","message"],"additionalProperties":false},"links":{"type":"object","properties":{"opportunityId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"findingId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"contentRevisionId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"executionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"reviewRequestId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"repositoryChangeId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"pullRequestUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"previewUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"publicationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"measurementIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["opportunityId","findingId","contentRevisionId","executionIds","reviewRequestId","repositoryChangeId","pullRequestUrl","previewUrl","publicationId","measurementIds"],"additionalProperties":false},"authorityRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fenceToken":{"type":"string","minLength":1,"maxLength":255},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"currency":{"type":"string","enum":["EUR"]},"preview":{"nullable":true,"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"contentPreview":{"nullable":true,"type":"string"},"truncated":{"type":"boolean"}},"required":["path","contentPreview","truncated"],"additionalProperties":false}},"urls":{"type":"array","items":{"type":"string"}}},"required":["files","urls"],"additionalProperties":false},"verification":{"type":"object","properties":{"strategy":{"type":"string","enum":["none","live_fetch","recheck_ai"]},"status":{"type":"string","enum":["not_applicable","pending","verified","failed"]}},"required":["strategy","status"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canRequestReview":{"type":"boolean"},"canApprove":{"type":"boolean"},"canReject":{"type":"boolean"},"canExecute":{"type":"boolean"},"canCancel":{"type":"boolean"}},"required":["canRequestReview","canApprove","canReject","canExecute","canCancel"],"additionalProperties":false},"history":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"actionId":{"type":"string","minLength":1,"maxLength":255},"type":{"type":"string","enum":["created","updated","delegated","taken_over","started","completed","failed","canceled","review_requested","review_approved","review_rejected","execution_linked","evidence_recorded"]},"actor":{"type":"string","enum":["user","flow","integration","service"]},"actorUserId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"operationId":{"type":"string","minLength":1,"maxLength":255},"summary":{"type":"string","minLength":1,"maxLength":500},"data":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetOutputDefinitionSchema2"}},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","actionId","type","actor","actorUserId","operationId","summary","data","revision","sequence","createdAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"reviews":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"actionId":{"type":"string","minLength":1,"maxLength":255},"status":{"type":"string","enum":["pending","approved","rejected"]},"requestedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"requestedByUserId":{"type":"string","minLength":1,"maxLength":255},"decidedByUserId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"decisionSummary":{"nullable":true,"type":"string","minLength":1,"maxLength":500},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"decidedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","actionId","status","requestedRevision","requestedByUserId","decidedByUserId","decisionSummary","createdAt","decidedAt"],"additionalProperties":false}},"executions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"actionId":{"type":"string","minLength":1,"maxLength":255},"executionId":{"type":"string","minLength":1,"maxLength":255},"operationId":{"type":"string","minLength":1,"maxLength":255},"status":{"type":"string","enum":["queued","running","succeeded","failed","canceled"]},"resultId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"resultRevision":{"nullable":true,"type":"integer","minimum":1,"maximum":9007199254740991},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"actualCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"actionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fenceToken":{"type":"string","minLength":1,"maxLength":255},"linkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"currency":{"type":"string","enum":["EUR"]}},"required":["id","accountId","actionId","executionId","operationId","status","resultId","resultRevision","siteId","targetDate","actualCostCents","actionRevision","fenceToken","linkedAt","currency"],"additionalProperties":false}},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"actionId":{"type":"string","minLength":1,"maxLength":255},"kind":{"type":"string","enum":["action","measurement","publication","blocker"]},"claim":{"type":"string","enum":["none","improved","declined","unchanged"]},"summary":{"type":"string","minLength":1,"maxLength":500},"provenance":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["seo_research_result","seo_audit_finding","content_revision","content_run","repository_execution","operation_result","publication_record","measurement_record","user_reported_external"]},"sourceId":{"type":"string","minLength":1,"maxLength":255},"sourceOperationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"sourceRevision":{"nullable":true,"type":"integer","minimum":1,"maximum":9007199254740991},"accountId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"observedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["sourceType","sourceId","sourceOperationId","sourceRevision","accountId","siteId","targetDate","observedAt"],"additionalProperties":false}},"observations":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","minLength":1,"maxLength":100},"baselineValue":{"nullable":true,"type":"number"},"currentValue":{"nullable":true,"type":"number"},"targetValue":{"nullable":true,"type":"number"},"unit":{"nullable":true,"type":"string","minLength":1,"maxLength":40},"observedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["metric","baselineValue","currentValue","targetValue","unit","observedAt"],"additionalProperties":false}},"verification":{"type":"string","enum":["verified","user_reported","unverified"]},"sourceRevision":{"nullable":true,"type":"integer","minimum":1,"maximum":9007199254740991},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"observedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"actionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"recordedByUserId":{"type":"string","minLength":1,"maxLength":255},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","actionId","kind","claim","summary","provenance","observations","verification","sourceRevision","siteId","targetDate","observedAt","actionRevision","recordedByUserId","recordedAt"],"additionalProperties":false}}},"required":["id","accountId","workId","siteId","createdByUserId","title","description","kind","priority","targetDate","planningStatus","executionStatus","reviewStatus","publicationStatus","measurementStatus","control","improvement","aiEvaluation","handoff","spec","allowedOperationIds","requiresReview","estimatedCostCents","maxCostCents","reservedCostCents","budgetReservationId","actualCostCents","lastError","links","authorityRevision","fenceToken","revision","createdAt","updatedAt","lastProgressAt","currency","preview","verification","capabilities","history","reviews","executions","evidence"],"additionalProperties":false},"OperationMarketingSeoActionsGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoActionsGetOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetOutputDefinitionSchema1"}}]},"OperationMarketingSeoActionsGetOutputDefinitionSchema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetOutputDefinitionSchema2"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetOutputDefinitionSchema2"}}]},"OperationMarketingSeoActionsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ACTION_INVALID_CURSOR","SEO_ACTION_READ_FAILED","SEO_ACTION_EVENT_INVALID","SEO_ACTION_EXECUTION_CONFLICT","SEO_ACTION_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoActionsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoActionsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoActionsListInput":{"type":"object","properties":{"workId":{"type":"string","minLength":1,"maxLength":255},"planningStatus":{"type":"string","enum":["draft","planned","blocked","canceled","completed"]},"cursor":{"type":"string","minLength":1,"maxLength":255},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false},"OperationMarketingSeoActionsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"workId":{"type":"string","minLength":1,"maxLength":255},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"createdByUserId":{"type":"string","minLength":1,"maxLength":255},"title":{"type":"string","minLength":1,"maxLength":300},"description":{"nullable":true,"type":"string","maxLength":4000},"kind":{"type":"string","enum":["research","monitor","prepare_draft","prepare_change","publication","measurement"]},"priority":{"type":"integer","minimum":0,"maximum":100},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"planningStatus":{"type":"string","enum":["draft","planned","blocked","canceled","completed"]},"executionStatus":{"type":"string","enum":["idle","queued","running","succeeded","failed","canceled"]},"reviewStatus":{"type":"string","enum":["not_required","pending","approved","rejected"]},"publicationStatus":{"type":"string","enum":["not_applicable","pending","merged","live","failed"]},"measurementStatus":{"type":"string","enum":["not_started","measuring","measured","failed"]},"control":{"type":"string","enum":["manual","delegated"]},"improvement":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"hypothesis":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"propertyUrl":{"type":"string","minLength":1},"pageUrl":{"type":"string","format":"uri"},"query":{"default":null,"nullable":true,"type":"string"},"country":{"default":null,"nullable":true,"type":"string"},"device":{"nullable":true,"type":"string","enum":["desktop","mobile","tablet"]},"searchType":{"default":"web","type":"string","enum":["web"]}},"required":["propertyUrl","pageUrl","query","country","device","searchType"],"additionalProperties":false},"baseline":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"sourceRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"policy":{"type":"object","properties":{"windowDays":{"type":"integer","minimum":7,"maximum":90},"lagDays":{"type":"integer","minimum":1,"maximum":30},"minimumImpressions":{"type":"integer","minimum":1,"maximum":9007199254740991},"cooldownDays":{"type":"integer","minimum":1,"maximum":180}},"required":["windowDays","lagDays","minimumImpressions","cooldownDays"],"additionalProperties":false},"live":{"nullable":true,"type":"object","properties":{"publicationId":{"type":"string","minLength":1},"commitSha":{"type":"string","minLength":1},"deploymentId":{"nullable":true,"type":"string","minLength":1},"verifiedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canonicalUrl":{"type":"string","format":"uri"}},"required":["publicationId","commitSha","deploymentId","verifiedAt","canonicalUrl"],"additionalProperties":false},"nextEvaluationAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluation":{"nullable":true,"type":"object","properties":{"id":{"type":"string","minLength":1},"observation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"decision":{"type":"string","enum":["promising","inconclusive","needs_investigation"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"changes":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]},"nextEligibleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","observation","decision","reasons","evaluatedAt","changes","interpretation","nextEligibleAt"],"additionalProperties":false}},"required":["version","hypothesis","scope","baseline","sourceRevision","policy","live","nextEvaluationAt","evaluation"],"additionalProperties":false},"aiEvaluation":{"nullable":true,"type":"object","properties":{"promptId":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"baselineAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"comparison":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string"},"baseline":{"type":"string","enum":["absent","mentioned","cited"]},"current":{"nullable":true,"type":"string","enum":["absent","mentioned","cited"]},"checkedAt":{"nullable":true,"type":"string"},"change":{"nullable":true,"type":"string","enum":["improved","declined","same"]}},"required":["model","baseline","current","checkedAt","change"],"additionalProperties":false}},"decision":{"type":"string","enum":["improved","declined","unchanged","inconclusive"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]}},"required":["promptId","prompt","baselineAt","evaluatedAt","comparison","decision","reasons","interpretation"],"additionalProperties":false},"handoff":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["ai_answer_block"]},"promptId":{"type":"string","minLength":1,"maxLength":255},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"question":{"type":"string","minLength":1,"maxLength":200},"answer":{"type":"string","minLength":1,"maxLength":1000},"faqMarkdown":{"type":"string","minLength":1,"maxLength":4000},"faqHtml":{"type":"string","minLength":1,"maxLength":4000},"jsonLdScript":{"type":"string","minLength":1,"maxLength":4000},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["kind","promptId","pageUrl","question","answer","faqMarkdown","faqHtml","jsonLdScript","generatedAt","verifiedAt"],"additionalProperties":false},"spec":{"nullable":true,"type":"object","properties":{"executorId":{"type":"string","minLength":1,"maxLength":255},"params":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListOutputDefinitionSchema0"}},"riskTier":{"type":"string","enum":["low","medium","high"]},"rationale":{"type":"string","minLength":1,"maxLength":4000},"expectedEffect":{"type":"string","minLength":1,"maxLength":2000},"copy":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512}},"required":["path"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt_audit"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512},"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["path","finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["discovery_defect"]},"params":{"type":"object","properties":{"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["weak_ctr_title"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ctr":{"type":"number","minimum":0,"maximum":1},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","impressions","ctr","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["verified_content_gap"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"finding":{"type":"string","minLength":1,"maxLength":4000},"askedTopics":{"maxItems":3,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","finding","askedTopics","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["useful_internal_link"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"destinationUrl":{"type":"string","minLength":1,"maxLength":2048},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","destinationUrl","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false}]},"aiAnswer":{"type":"object","properties":{"promptId":{"type":"string","minLength":1,"maxLength":255},"prompt":{"type":"string","minLength":1,"maxLength":2000},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"state":{"type":"string","enum":["not_mentioned","not_cited"]},"answeredModels":{"type":"integer","minimum":0,"maximum":20},"checkedModels":{"type":"integer","minimum":0,"maximum":20},"competitorDomains":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"recheckDays":{"type":"integer","minimum":1,"maximum":90}},"required":["promptId","prompt","pageUrl","state","answeredModels","checkedModels","competitorDomains","recheckDays"],"additionalProperties":false},"evidenceRefs":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"dedupeKey":{"type":"string","minLength":1,"maxLength":255},"planId":{"type":"string","minLength":1,"maxLength":255},"dependsOn":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["executorId","params","riskTier","rationale","expectedEffect","evidenceRefs","dedupeKey","planId","dependsOn"],"additionalProperties":false},"allowedOperationIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"requiresReview":{"type":"boolean"},"estimatedCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"maxCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"reservedCostCents":{"type":"integer","minimum":0,"maximum":10000000},"budgetReservationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"actualCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"lastError":{"nullable":true,"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":100},"message":{"type":"string","minLength":1,"maxLength":500},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListOutputDefinitionSchema1"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false}},"required":["code","message"],"additionalProperties":false},"links":{"type":"object","properties":{"opportunityId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"findingId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"contentRevisionId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"executionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"reviewRequestId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"repositoryChangeId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"pullRequestUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"previewUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"publicationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"measurementIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["opportunityId","findingId","contentRevisionId","executionIds","reviewRequestId","repositoryChangeId","pullRequestUrl","previewUrl","publicationId","measurementIds"],"additionalProperties":false},"authorityRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fenceToken":{"type":"string","minLength":1,"maxLength":255},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"currency":{"type":"string","enum":["EUR"]},"preview":{"nullable":true,"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"contentPreview":{"nullable":true,"type":"string"},"truncated":{"type":"boolean"}},"required":["path","contentPreview","truncated"],"additionalProperties":false}},"urls":{"type":"array","items":{"type":"string"}}},"required":["files","urls"],"additionalProperties":false},"verification":{"type":"object","properties":{"strategy":{"type":"string","enum":["none","live_fetch","recheck_ai"]},"status":{"type":"string","enum":["not_applicable","pending","verified","failed"]}},"required":["strategy","status"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canRequestReview":{"type":"boolean"},"canApprove":{"type":"boolean"},"canReject":{"type":"boolean"},"canExecute":{"type":"boolean"},"canCancel":{"type":"boolean"}},"required":["canRequestReview","canApprove","canReject","canExecute","canCancel"],"additionalProperties":false}},"required":["id","accountId","workId","siteId","createdByUserId","title","description","kind","priority","targetDate","planningStatus","executionStatus","reviewStatus","publicationStatus","measurementStatus","control","improvement","aiEvaluation","handoff","spec","allowedOperationIds","requiresReview","estimatedCostCents","maxCostCents","reservedCostCents","budgetReservationId","actualCostCents","lastError","links","authorityRevision","fenceToken","revision","createdAt","updatedAt","lastProgressAt","currency","preview","verification","capabilities"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoActionsListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListOutputDefinitionSchema0"}}]},"OperationMarketingSeoActionsListOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListOutputDefinitionSchema1"}}]},"OperationMarketingSeoActionsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ACTION_INVALID_CURSOR","SEO_ACTION_READ_FAILED","SEO_ACTION_EVENT_INVALID","SEO_ACTION_EXECUTION_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoActionsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoActionsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoActionsReconcileInput":{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":255,"x-moreflow-reference":{"resolver":"marketing.seo.actions.get"}},"repositoryChangeId":{"type":"string","minLength":1,"maxLength":255,"x-moreflow-reference":{"resolver":"repositories.changes.get"}},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["actionId","repositoryChangeId","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoActionsReconcileOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"workId":{"type":"string","minLength":1,"maxLength":255},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"createdByUserId":{"type":"string","minLength":1,"maxLength":255},"title":{"type":"string","minLength":1,"maxLength":300},"description":{"nullable":true,"type":"string","maxLength":4000},"kind":{"type":"string","enum":["research","monitor","prepare_draft","prepare_change","publication","measurement"]},"priority":{"type":"integer","minimum":0,"maximum":100},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"planningStatus":{"type":"string","enum":["draft","planned","blocked","canceled","completed"]},"executionStatus":{"type":"string","enum":["idle","queued","running","succeeded","failed","canceled"]},"reviewStatus":{"type":"string","enum":["not_required","pending","approved","rejected"]},"publicationStatus":{"type":"string","enum":["not_applicable","pending","merged","live","failed"]},"measurementStatus":{"type":"string","enum":["not_started","measuring","measured","failed"]},"control":{"type":"string","enum":["manual","delegated"]},"improvement":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"hypothesis":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"propertyUrl":{"type":"string","minLength":1},"pageUrl":{"type":"string","format":"uri"},"query":{"default":null,"nullable":true,"type":"string"},"country":{"default":null,"nullable":true,"type":"string"},"device":{"nullable":true,"type":"string","enum":["desktop","mobile","tablet"]},"searchType":{"default":"web","type":"string","enum":["web"]}},"required":["propertyUrl","pageUrl","query","country","device","searchType"],"additionalProperties":false},"baseline":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"sourceRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"policy":{"type":"object","properties":{"windowDays":{"type":"integer","minimum":7,"maximum":90},"lagDays":{"type":"integer","minimum":1,"maximum":30},"minimumImpressions":{"type":"integer","minimum":1,"maximum":9007199254740991},"cooldownDays":{"type":"integer","minimum":1,"maximum":180}},"required":["windowDays","lagDays","minimumImpressions","cooldownDays"],"additionalProperties":false},"live":{"nullable":true,"type":"object","properties":{"publicationId":{"type":"string","minLength":1},"commitSha":{"type":"string","minLength":1},"deploymentId":{"nullable":true,"type":"string","minLength":1},"verifiedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canonicalUrl":{"type":"string","format":"uri"}},"required":["publicationId","commitSha","deploymentId","verifiedAt","canonicalUrl"],"additionalProperties":false},"nextEvaluationAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluation":{"nullable":true,"type":"object","properties":{"id":{"type":"string","minLength":1},"observation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"decision":{"type":"string","enum":["promising","inconclusive","needs_investigation"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"changes":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]},"nextEligibleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","observation","decision","reasons","evaluatedAt","changes","interpretation","nextEligibleAt"],"additionalProperties":false}},"required":["version","hypothesis","scope","baseline","sourceRevision","policy","live","nextEvaluationAt","evaluation"],"additionalProperties":false},"aiEvaluation":{"nullable":true,"type":"object","properties":{"promptId":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"baselineAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"comparison":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string"},"baseline":{"type":"string","enum":["absent","mentioned","cited"]},"current":{"nullable":true,"type":"string","enum":["absent","mentioned","cited"]},"checkedAt":{"nullable":true,"type":"string"},"change":{"nullable":true,"type":"string","enum":["improved","declined","same"]}},"required":["model","baseline","current","checkedAt","change"],"additionalProperties":false}},"decision":{"type":"string","enum":["improved","declined","unchanged","inconclusive"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]}},"required":["promptId","prompt","baselineAt","evaluatedAt","comparison","decision","reasons","interpretation"],"additionalProperties":false},"handoff":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["ai_answer_block"]},"promptId":{"type":"string","minLength":1,"maxLength":255},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"question":{"type":"string","minLength":1,"maxLength":200},"answer":{"type":"string","minLength":1,"maxLength":1000},"faqMarkdown":{"type":"string","minLength":1,"maxLength":4000},"faqHtml":{"type":"string","minLength":1,"maxLength":4000},"jsonLdScript":{"type":"string","minLength":1,"maxLength":4000},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["kind","promptId","pageUrl","question","answer","faqMarkdown","faqHtml","jsonLdScript","generatedAt","verifiedAt"],"additionalProperties":false},"spec":{"nullable":true,"type":"object","properties":{"executorId":{"type":"string","minLength":1,"maxLength":255},"params":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileOutputDefinitionSchema0"}},"riskTier":{"type":"string","enum":["low","medium","high"]},"rationale":{"type":"string","minLength":1,"maxLength":4000},"expectedEffect":{"type":"string","minLength":1,"maxLength":2000},"copy":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512}},"required":["path"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt_audit"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512},"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["path","finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["discovery_defect"]},"params":{"type":"object","properties":{"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["weak_ctr_title"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ctr":{"type":"number","minimum":0,"maximum":1},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","impressions","ctr","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["verified_content_gap"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"finding":{"type":"string","minLength":1,"maxLength":4000},"askedTopics":{"maxItems":3,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","finding","askedTopics","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["useful_internal_link"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"destinationUrl":{"type":"string","minLength":1,"maxLength":2048},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","destinationUrl","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false}]},"aiAnswer":{"type":"object","properties":{"promptId":{"type":"string","minLength":1,"maxLength":255},"prompt":{"type":"string","minLength":1,"maxLength":2000},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"state":{"type":"string","enum":["not_mentioned","not_cited"]},"answeredModels":{"type":"integer","minimum":0,"maximum":20},"checkedModels":{"type":"integer","minimum":0,"maximum":20},"competitorDomains":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"recheckDays":{"type":"integer","minimum":1,"maximum":90}},"required":["promptId","prompt","pageUrl","state","answeredModels","checkedModels","competitorDomains","recheckDays"],"additionalProperties":false},"evidenceRefs":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"dedupeKey":{"type":"string","minLength":1,"maxLength":255},"planId":{"type":"string","minLength":1,"maxLength":255},"dependsOn":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["executorId","params","riskTier","rationale","expectedEffect","evidenceRefs","dedupeKey","planId","dependsOn"],"additionalProperties":false},"allowedOperationIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"requiresReview":{"type":"boolean"},"estimatedCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"maxCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"reservedCostCents":{"type":"integer","minimum":0,"maximum":10000000},"budgetReservationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"actualCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"lastError":{"nullable":true,"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":100},"message":{"type":"string","minLength":1,"maxLength":500},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileOutputDefinitionSchema1"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false}},"required":["code","message"],"additionalProperties":false},"links":{"type":"object","properties":{"opportunityId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"findingId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"contentRevisionId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"executionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"reviewRequestId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"repositoryChangeId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"pullRequestUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"previewUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"publicationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"measurementIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["opportunityId","findingId","contentRevisionId","executionIds","reviewRequestId","repositoryChangeId","pullRequestUrl","previewUrl","publicationId","measurementIds"],"additionalProperties":false},"authorityRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fenceToken":{"type":"string","minLength":1,"maxLength":255},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"currency":{"type":"string","enum":["EUR"]},"preview":{"nullable":true,"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"contentPreview":{"nullable":true,"type":"string"},"truncated":{"type":"boolean"}},"required":["path","contentPreview","truncated"],"additionalProperties":false}},"urls":{"type":"array","items":{"type":"string"}}},"required":["files","urls"],"additionalProperties":false},"verification":{"type":"object","properties":{"strategy":{"type":"string","enum":["none","live_fetch","recheck_ai"]},"status":{"type":"string","enum":["not_applicable","pending","verified","failed"]}},"required":["strategy","status"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canRequestReview":{"type":"boolean"},"canApprove":{"type":"boolean"},"canReject":{"type":"boolean"},"canExecute":{"type":"boolean"},"canCancel":{"type":"boolean"}},"required":["canRequestReview","canApprove","canReject","canExecute","canCancel"],"additionalProperties":false}},"required":["id","accountId","workId","siteId","createdByUserId","title","description","kind","priority","targetDate","planningStatus","executionStatus","reviewStatus","publicationStatus","measurementStatus","control","improvement","aiEvaluation","handoff","spec","allowedOperationIds","requiresReview","estimatedCostCents","maxCostCents","reservedCostCents","budgetReservationId","actualCostCents","lastError","links","authorityRevision","fenceToken","revision","createdAt","updatedAt","lastProgressAt","currency","preview","verification","capabilities"],"additionalProperties":false},"OperationMarketingSeoActionsReconcileOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileOutputDefinitionSchema0"}}]},"OperationMarketingSeoActionsReconcileOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileOutputDefinitionSchema1"}}]},"OperationMarketingSeoActionsReconcileError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_RECONCILE_UNAVAILABLE","SEO_ACTION_NOT_FOUND","SEO_REPOSITORY_CHANGE_MISMATCH","SEO_REPOSITORY_CHANGE_NOT_FOUND","SEO_ACTION_IDEMPOTENCY_CONFLICT","SEO_ACTION_REVISION_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoActionsReconcileErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileErrorDefinitionSchema0"}}]},"OperationMarketingSeoActionsReconcileErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileErrorDefinitionSchema1"}}]},"OperationMarketingSeoActionsUpdateInput":{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":255},"expectedRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"title":{"type":"string","minLength":1,"maxLength":300},"description":{"nullable":true,"type":"string","maxLength":4000},"kind":{"type":"string","enum":["research","monitor","prepare_draft","prepare_change","publication","measurement"]},"priority":{"type":"integer","minimum":0,"maximum":100},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"control":{"type":"string","enum":["manual","delegated"]},"allowedOperationIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"requiresReview":{"type":"boolean"},"estimatedCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"maxCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"takeover":{"default":false,"type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["actionId","expectedRevision","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoActionsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"workId":{"type":"string","minLength":1,"maxLength":255},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"createdByUserId":{"type":"string","minLength":1,"maxLength":255},"title":{"type":"string","minLength":1,"maxLength":300},"description":{"nullable":true,"type":"string","maxLength":4000},"kind":{"type":"string","enum":["research","monitor","prepare_draft","prepare_change","publication","measurement"]},"priority":{"type":"integer","minimum":0,"maximum":100},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"planningStatus":{"type":"string","enum":["draft","planned","blocked","canceled","completed"]},"executionStatus":{"type":"string","enum":["idle","queued","running","succeeded","failed","canceled"]},"reviewStatus":{"type":"string","enum":["not_required","pending","approved","rejected"]},"publicationStatus":{"type":"string","enum":["not_applicable","pending","merged","live","failed"]},"measurementStatus":{"type":"string","enum":["not_started","measuring","measured","failed"]},"control":{"type":"string","enum":["manual","delegated"]},"improvement":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"hypothesis":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"propertyUrl":{"type":"string","minLength":1},"pageUrl":{"type":"string","format":"uri"},"query":{"default":null,"nullable":true,"type":"string"},"country":{"default":null,"nullable":true,"type":"string"},"device":{"nullable":true,"type":"string","enum":["desktop","mobile","tablet"]},"searchType":{"default":"web","type":"string","enum":["web"]}},"required":["propertyUrl","pageUrl","query","country","device","searchType"],"additionalProperties":false},"baseline":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"sourceRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"policy":{"type":"object","properties":{"windowDays":{"type":"integer","minimum":7,"maximum":90},"lagDays":{"type":"integer","minimum":1,"maximum":30},"minimumImpressions":{"type":"integer","minimum":1,"maximum":9007199254740991},"cooldownDays":{"type":"integer","minimum":1,"maximum":180}},"required":["windowDays","lagDays","minimumImpressions","cooldownDays"],"additionalProperties":false},"live":{"nullable":true,"type":"object","properties":{"publicationId":{"type":"string","minLength":1},"commitSha":{"type":"string","minLength":1},"deploymentId":{"nullable":true,"type":"string","minLength":1},"verifiedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canonicalUrl":{"type":"string","format":"uri"}},"required":["publicationId","commitSha","deploymentId","verifiedAt","canonicalUrl"],"additionalProperties":false},"nextEvaluationAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluation":{"nullable":true,"type":"object","properties":{"id":{"type":"string","minLength":1},"observation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"decision":{"type":"string","enum":["promising","inconclusive","needs_investigation"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"changes":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]},"nextEligibleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","observation","decision","reasons","evaluatedAt","changes","interpretation","nextEligibleAt"],"additionalProperties":false}},"required":["version","hypothesis","scope","baseline","sourceRevision","policy","live","nextEvaluationAt","evaluation"],"additionalProperties":false},"aiEvaluation":{"nullable":true,"type":"object","properties":{"promptId":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"baselineAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"comparison":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string"},"baseline":{"type":"string","enum":["absent","mentioned","cited"]},"current":{"nullable":true,"type":"string","enum":["absent","mentioned","cited"]},"checkedAt":{"nullable":true,"type":"string"},"change":{"nullable":true,"type":"string","enum":["improved","declined","same"]}},"required":["model","baseline","current","checkedAt","change"],"additionalProperties":false}},"decision":{"type":"string","enum":["improved","declined","unchanged","inconclusive"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]}},"required":["promptId","prompt","baselineAt","evaluatedAt","comparison","decision","reasons","interpretation"],"additionalProperties":false},"handoff":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["ai_answer_block"]},"promptId":{"type":"string","minLength":1,"maxLength":255},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"question":{"type":"string","minLength":1,"maxLength":200},"answer":{"type":"string","minLength":1,"maxLength":1000},"faqMarkdown":{"type":"string","minLength":1,"maxLength":4000},"faqHtml":{"type":"string","minLength":1,"maxLength":4000},"jsonLdScript":{"type":"string","minLength":1,"maxLength":4000},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["kind","promptId","pageUrl","question","answer","faqMarkdown","faqHtml","jsonLdScript","generatedAt","verifiedAt"],"additionalProperties":false},"spec":{"nullable":true,"type":"object","properties":{"executorId":{"type":"string","minLength":1,"maxLength":255},"params":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateOutputDefinitionSchema0"}},"riskTier":{"type":"string","enum":["low","medium","high"]},"rationale":{"type":"string","minLength":1,"maxLength":4000},"expectedEffect":{"type":"string","minLength":1,"maxLength":2000},"copy":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512}},"required":["path"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt_audit"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512},"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["path","finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["discovery_defect"]},"params":{"type":"object","properties":{"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["weak_ctr_title"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ctr":{"type":"number","minimum":0,"maximum":1},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","impressions","ctr","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["verified_content_gap"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"finding":{"type":"string","minLength":1,"maxLength":4000},"askedTopics":{"maxItems":3,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","finding","askedTopics","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["useful_internal_link"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"destinationUrl":{"type":"string","minLength":1,"maxLength":2048},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","destinationUrl","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false}]},"aiAnswer":{"type":"object","properties":{"promptId":{"type":"string","minLength":1,"maxLength":255},"prompt":{"type":"string","minLength":1,"maxLength":2000},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"state":{"type":"string","enum":["not_mentioned","not_cited"]},"answeredModels":{"type":"integer","minimum":0,"maximum":20},"checkedModels":{"type":"integer","minimum":0,"maximum":20},"competitorDomains":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"recheckDays":{"type":"integer","minimum":1,"maximum":90}},"required":["promptId","prompt","pageUrl","state","answeredModels","checkedModels","competitorDomains","recheckDays"],"additionalProperties":false},"evidenceRefs":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"dedupeKey":{"type":"string","minLength":1,"maxLength":255},"planId":{"type":"string","minLength":1,"maxLength":255},"dependsOn":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["executorId","params","riskTier","rationale","expectedEffect","evidenceRefs","dedupeKey","planId","dependsOn"],"additionalProperties":false},"allowedOperationIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"requiresReview":{"type":"boolean"},"estimatedCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"maxCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"reservedCostCents":{"type":"integer","minimum":0,"maximum":10000000},"budgetReservationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"actualCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"lastError":{"nullable":true,"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":100},"message":{"type":"string","minLength":1,"maxLength":500},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateOutputDefinitionSchema1"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false}},"required":["code","message"],"additionalProperties":false},"links":{"type":"object","properties":{"opportunityId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"findingId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"contentRevisionId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"executionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"reviewRequestId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"repositoryChangeId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"pullRequestUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"previewUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"publicationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"measurementIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["opportunityId","findingId","contentRevisionId","executionIds","reviewRequestId","repositoryChangeId","pullRequestUrl","previewUrl","publicationId","measurementIds"],"additionalProperties":false},"authorityRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fenceToken":{"type":"string","minLength":1,"maxLength":255},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"currency":{"type":"string","enum":["EUR"]},"preview":{"nullable":true,"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"contentPreview":{"nullable":true,"type":"string"},"truncated":{"type":"boolean"}},"required":["path","contentPreview","truncated"],"additionalProperties":false}},"urls":{"type":"array","items":{"type":"string"}}},"required":["files","urls"],"additionalProperties":false},"verification":{"type":"object","properties":{"strategy":{"type":"string","enum":["none","live_fetch","recheck_ai"]},"status":{"type":"string","enum":["not_applicable","pending","verified","failed"]}},"required":["strategy","status"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canRequestReview":{"type":"boolean"},"canApprove":{"type":"boolean"},"canReject":{"type":"boolean"},"canExecute":{"type":"boolean"},"canCancel":{"type":"boolean"}},"required":["canRequestReview","canApprove","canReject","canExecute","canCancel"],"additionalProperties":false}},"required":["id","accountId","workId","siteId","createdByUserId","title","description","kind","priority","targetDate","planningStatus","executionStatus","reviewStatus","publicationStatus","measurementStatus","control","improvement","aiEvaluation","handoff","spec","allowedOperationIds","requiresReview","estimatedCostCents","maxCostCents","reservedCostCents","budgetReservationId","actualCostCents","lastError","links","authorityRevision","fenceToken","revision","createdAt","updatedAt","lastProgressAt","currency","preview","verification","capabilities"],"additionalProperties":false},"OperationMarketingSeoActionsUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateOutputDefinitionSchema0"}}]},"OperationMarketingSeoActionsUpdateOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateOutputDefinitionSchema1"}}]},"OperationMarketingSeoActionsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ACTION_IDEMPOTENCY_CONFLICT","SEO_ACTION_OPERATION_INVALID","SEO_ACTION_BUDGET_EXCEEDED","SEO_ACTION_NOT_FOUND","SEO_ACTION_ALREADY_TERMINAL","SEO_ACTION_CONTROL_DENIED","SEO_ACTION_REVISION_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoActionsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoActionsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiKeywordsVolumeGetInput":{"type":"object","properties":{"forceRefresh":{"default":false,"type":"boolean"},"keywords":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string"}},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2}},"required":["keywords"]},"OperationMarketingSeoAiKeywordsVolumeGetOutput":{"type":"object","properties":{"id":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetOutputDefinitionSchema0"}},"costCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","items","costCents","costMicroCents","currency","dataAsOfAt"],"additionalProperties":{}},"OperationMarketingSeoAiKeywordsVolumeGetOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoAiKeywordsVolumeGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiKeywordsVolumeGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiKeywordsVolumeGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiMentionsGetInput":{"type":"object","properties":{"domain":{"type":"string","minLength":1},"brand":{"type":"string"},"competitors":{"default":[],"maxItems":9,"type":"array","items":{"type":"string"}}},"required":["domain"]},"OperationMarketingSeoAiMentionsGetOutput":{"type":"object","properties":{"id":{"type":"string"},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fromCache":{"type":"boolean"},"currency":{"type":"string","enum":["USD"]},"platforms":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetOutputDefinitionSchema0"}}},"topSources":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"title":{"nullable":true,"type":"string"},"domain":{"nullable":true,"type":"string"},"mentions":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["url","title","domain","mentions"],"additionalProperties":false}},"marketNote":{"type":"object","additionalProperties":{"type":"string"}},"competitorShare":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetOutputDefinitionSchema0"}},"costCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","fetchedAt","dataAsOfAt","fromCache","currency","platforms","topSources","marketNote","competitorShare","costCents","costMicroCents"],"additionalProperties":{}},"OperationMarketingSeoAiMentionsGetOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoAiMentionsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiMentionsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiMentionsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiPromptsCreateInput":{"type":"object","properties":{"prompt":{"type":"string","minLength":1},"models":{"default":["chat_gpt:gpt-5"],"minItems":1,"maxItems":4,"type":"array","items":{"type":"string","enum":["chat_gpt:gpt-5","claude:claude-sonnet-4-6","gemini:gemini-2.5-pro","perplexity:sonar-pro"]}},"webSearch":{"default":true,"type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["prompt"]},"OperationMarketingSeoAiPromptsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.ai.prompts.list"}},"accountId":{"type":"string","x-moreflow-opaque":{"reason":"Credential-bound tenant owning this prompt."}},"prompt":{"type":"string"},"models":{"type":"array","items":{"type":"string","enum":["chat_gpt:gpt-5","claude:claude-sonnet-4-6","gemini:gemini-2.5-pro","perplexity:sonar-pro"]}},"webSearch":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","prompt","models","webSearch","createdAt","removedAt"],"additionalProperties":false},"OperationMarketingSeoAiPromptsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AI_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiPromptsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiPromptsDeleteInput":{"type":"object","properties":{"promptId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.ai.prompts.list"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["promptId"]},"OperationMarketingSeoAiPromptsDeleteOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.ai.prompts.list"}},"accountId":{"type":"string","x-moreflow-opaque":{"reason":"Credential-bound tenant owning this prompt."}},"prompt":{"type":"string"},"models":{"type":"array","items":{"type":"string","enum":["chat_gpt:gpt-5","claude:claude-sonnet-4-6","gemini:gemini-2.5-pro","perplexity:sonar-pro"]}},"webSearch":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","prompt","models","webSearch","createdAt","removedAt"],"additionalProperties":false},"OperationMarketingSeoAiPromptsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AI_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiPromptsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiPromptsEstimateInput":{"type":"object","properties":{"cadence":{"default":"monthly","type":"string","enum":["weekly","monthly","manual"]}}},"OperationMarketingSeoAiPromptsEstimateOutput":{"type":"object","properties":{"perRunCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"monthlyCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"checksPerMonth":{"type":"number"},"perModelCents":{"type":"object","additionalProperties":{"type":"number"}},"method":{"type":"string"}},"required":["perRunCents","monthlyCents","currency","checksPerMonth","perModelCents","method"],"additionalProperties":false},"OperationMarketingSeoAiPromptsEstimateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AI_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiPromptsEstimateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptsEstimateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiPromptsListInput":{"type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationMarketingSeoAiPromptsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.ai.prompts.list"}},"accountId":{"type":"string","x-moreflow-opaque":{"reason":"Credential-bound tenant owning this prompt."}},"prompt":{"type":"string"},"models":{"type":"array","items":{"type":"string","enum":["chat_gpt:gpt-5","claude:claude-sonnet-4-6","gemini:gemini-2.5-pro","perplexity:sonar-pro"]}},"webSearch":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","prompt","models","webSearch","createdAt","removedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoAiPromptsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AI_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiPromptsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiPromptsRunInput":{"type":"object","properties":{"maxCostCents":{"description":"Optional per-run ceiling in cents; omit to accept the fresh estimate.","nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"domain":{"type":"string"},"webSearchCountryIsoCode":{"type":"string","minLength":2,"maxLength":2},"pairs":{"description":"Optional subset of tracked prompt-model pairs to check; omit to check every tracked pair.","minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"promptId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"model":{"type":"string","enum":["chat_gpt:gpt-5","claude:claude-sonnet-4-6","gemini:gemini-2.5-pro","perplexity:sonar-pro"]}},"required":["promptId","model"]}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}}},"OperationMarketingSeoAiPromptsRunOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["succeeded","failed","cancelled"]},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"promptId":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"citedDomains":{"type":"array","items":{"type":"string"}},"excerpt":{"type":"string"},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"stance":{"default":"unknown","type":"string","enum":["recommended","listed_neutrally","negative","unknown"]},"stanceAudit":{"default":null,"nullable":true,"type":"object","properties":{"definition":{"type":"string"},"adapter":{"nullable":true,"type":"string"},"provider":{"nullable":true,"type":"string"},"model":{"nullable":true,"type":"string"},"questions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"},"outcome":{"type":"string","enum":["accept","reject","abstain"]},"abstainReason":{"type":"string","enum":["band","refused","missing","invalid_output","unavailable"]},"topValue":{"nullable":true,"type":"string"},"probability":{"nullable":true,"type":"number"},"confidence":{"nullable":true,"type":"number"},"calibration":{"nullable":true,"type":"string","enum":["native","self_reported"]},"score":{"type":"number"}},"required":["name","value","outcome","topValue","probability","confidence","calibration"],"additionalProperties":false}},"failures":{"default":[],"type":"array","items":{"type":"object","properties":{"adapter":{"type":"string"},"code":{"type":"string","enum":["DECISION_PROVIDER_UNAVAILABLE","DECISION_RATE_LIMITED","DECISION_TIMEOUT","DECISION_QUOTA_EXCEEDED","DECISION_INVALID_REQUEST","DECISION_AUTH_FAILED","DECISION_INVALID_OUTPUT","DECISION_ABSTAINED"]}},"required":["adapter","code"],"additionalProperties":false}}},"required":["definition","adapter","provider","model","questions","failures"],"additionalProperties":false}},"required":["id","accountId","promptId","model","checkedAt","mentioned","cited","citedDomains","excerpt","costCents","costMicroCents","currency","stance","stanceAudit"],"additionalProperties":false}},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"method":{"nullable":true,"type":"string"},"processed":{"type":"integer","minimum":0,"maximum":9007199254740991},"pending":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"failures":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunOutputDefinitionSchema0"}},"skipped":{"type":"boolean"},"skipReason":{"nullable":true,"type":"string"}},"required":["id","status","completedAt","snapshots","costCents","costMicroCents","currency","method","processed","pending","failures","skipped","skipReason"],"additionalProperties":false},"OperationMarketingSeoAiPromptsRunOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunOutputDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptsRunError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED","SEO_AI_UNAVAILABLE","SEO_AI_RUN_OVER_CEILING","SEO_AI_CHECK_CANCELLED","SEO_AI_EMPTY_ANSWER","SEO_AI_CHECK_NOT_RUN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiPromptsRunErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptsRunErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiPromptsScheduleGetInput":{"type":"object","properties":{}},"OperationMarketingSeoAiPromptsScheduleGetOutput":{"type":"object","properties":{"id":{"type":"string"},"cadence":{"type":"string","enum":["weekly","monthly","manual"],"description":"The cadence scheduled monitoring follows: the saved cadence, else weekly once the SEO start run completed, else manual."},"cadenceSource":{"type":"string","enum":["saved","default"],"description":"`saved` when the account saved a cadence; `default` when none is saved and the cadence is derived."},"maxMonthlyCostCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"lastSkipReason":{"nullable":true,"type":"string"},"monitoring":{"nullable":true,"type":"object","properties":{"status":{"type":"string","enum":["queued","running","succeeded","failed","skipped"]},"attemptedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reason":{"nullable":true,"type":"string"}},"required":["status","attemptedAt","reason"],"additionalProperties":false}},"required":["id","cadence","cadenceSource","maxMonthlyCostCents","currency","lastSkipReason","monitoring"],"additionalProperties":false},"OperationMarketingSeoAiPromptsScheduleGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiPromptsScheduleGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptsScheduleGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiPromptsScheduleUpdateInput":{"type":"object","properties":{"cadence":{"type":"string","enum":["weekly","monthly","manual"]},"maxMonthlyCostCents":{"description":"Monthly ceiling in cents for scheduled runs; omit to keep the current value, or use null to clear it.","nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}}},"OperationMarketingSeoAiPromptsScheduleUpdateOutput":{"type":"object","properties":{"id":{"type":"string"},"cadence":{"type":"string","enum":["weekly","monthly","manual"],"description":"The cadence scheduled monitoring follows: the saved cadence, else weekly once the SEO start run completed, else manual."},"cadenceSource":{"type":"string","enum":["saved","default"],"description":"`saved` when the account saved a cadence; `default` when none is saved and the cadence is derived."},"maxMonthlyCostCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"lastSkipReason":{"nullable":true,"type":"string"},"monitoring":{"nullable":true,"type":"object","properties":{"status":{"type":"string","enum":["queued","running","succeeded","failed","skipped"]},"attemptedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reason":{"nullable":true,"type":"string"}},"required":["status","attemptedAt","reason"],"additionalProperties":false},"estimate":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateOutputDefinitionSchema0"}},"required":["id","cadence","cadenceSource","maxMonthlyCostCents","currency","lastSkipReason","monitoring","estimate"],"additionalProperties":false},"OperationMarketingSeoAiPromptsScheduleUpdateOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateOutputDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptsScheduleUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AI_UNAVAILABLE","SEO_AI_OVER_CEILING"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiPromptsScheduleUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptsScheduleUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiPromptsSnapshotsListInput":{"type":"object","properties":{"promptId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.ai.prompts.list"}},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationMarketingSeoAiPromptsSnapshotsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"promptId":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"citedDomains":{"type":"array","items":{"type":"string"}},"excerpt":{"type":"string"},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"stance":{"default":"unknown","type":"string","enum":["recommended","listed_neutrally","negative","unknown"]},"stanceAudit":{"default":null,"nullable":true,"type":"object","properties":{"definition":{"type":"string"},"adapter":{"nullable":true,"type":"string"},"provider":{"nullable":true,"type":"string"},"model":{"nullable":true,"type":"string"},"questions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"},"outcome":{"type":"string","enum":["accept","reject","abstain"]},"abstainReason":{"type":"string","enum":["band","refused","missing","invalid_output","unavailable"]},"topValue":{"nullable":true,"type":"string"},"probability":{"nullable":true,"type":"number"},"confidence":{"nullable":true,"type":"number"},"calibration":{"nullable":true,"type":"string","enum":["native","self_reported"]},"score":{"type":"number"}},"required":["name","value","outcome","topValue","probability","confidence","calibration"],"additionalProperties":false}},"failures":{"default":[],"type":"array","items":{"type":"object","properties":{"adapter":{"type":"string"},"code":{"type":"string","enum":["DECISION_PROVIDER_UNAVAILABLE","DECISION_RATE_LIMITED","DECISION_TIMEOUT","DECISION_QUOTA_EXCEEDED","DECISION_INVALID_REQUEST","DECISION_AUTH_FAILED","DECISION_INVALID_OUTPUT","DECISION_ABSTAINED"]}},"required":["adapter","code"],"additionalProperties":false}}},"required":["definition","adapter","provider","model","questions","failures"],"additionalProperties":false}},"required":["id","accountId","promptId","model","checkedAt","mentioned","cited","citedDomains","excerpt","costCents","costMicroCents","currency","stance","stanceAudit"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoAiPromptsSnapshotsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AI_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiPromptsSnapshotsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptsSnapshotsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiAnswersGenerateInput":{"type":"object","properties":{"promptId":{"type":"string","minLength":1,"maxLength":255},"pageUrl":{"type":"string","maxLength":2048,"format":"uri"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["promptId","pageUrl"],"additionalProperties":false},"OperationMarketingSeoAiAnswersGenerateOutput":{"type":"object","properties":{"kind":{"type":"string","enum":["ai_answer_block"]},"promptId":{"type":"string","minLength":1,"maxLength":255},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"question":{"type":"string","minLength":1,"maxLength":200},"answer":{"type":"string","minLength":1,"maxLength":1000},"faqMarkdown":{"type":"string","minLength":1,"maxLength":4000},"faqHtml":{"type":"string","minLength":1,"maxLength":4000},"jsonLdScript":{"type":"string","minLength":1,"maxLength":4000},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["kind","promptId","pageUrl","question","answer","faqMarkdown","faqHtml","jsonLdScript","generatedAt","verifiedAt"],"additionalProperties":false},"OperationMarketingSeoAiAnswersGenerateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AI_PROMPT_NOT_FOUND","SEO_SITE_CONTEXT_REQUIRED","SEO_AI_ANSWER_UNSUPPORTED","SEO_AI_ANSWER_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiAnswersGenerateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiAnswersGenerateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiAnswersProposeInput":{"type":"object","properties":{"promptId":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["promptId"],"additionalProperties":false},"OperationMarketingSeoAiAnswersProposeOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"workId":{"type":"string","minLength":1,"maxLength":255},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"createdByUserId":{"type":"string","minLength":1,"maxLength":255},"title":{"type":"string","minLength":1,"maxLength":300},"description":{"nullable":true,"type":"string","maxLength":4000},"kind":{"type":"string","enum":["research","monitor","prepare_draft","prepare_change","publication","measurement"]},"priority":{"type":"integer","minimum":0,"maximum":100},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"planningStatus":{"type":"string","enum":["draft","planned","blocked","canceled","completed"]},"executionStatus":{"type":"string","enum":["idle","queued","running","succeeded","failed","canceled"]},"reviewStatus":{"type":"string","enum":["not_required","pending","approved","rejected"]},"publicationStatus":{"type":"string","enum":["not_applicable","pending","merged","live","failed"]},"measurementStatus":{"type":"string","enum":["not_started","measuring","measured","failed"]},"control":{"type":"string","enum":["manual","delegated"]},"improvement":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"hypothesis":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"propertyUrl":{"type":"string","minLength":1},"pageUrl":{"type":"string","format":"uri"},"query":{"default":null,"nullable":true,"type":"string"},"country":{"default":null,"nullable":true,"type":"string"},"device":{"nullable":true,"type":"string","enum":["desktop","mobile","tablet"]},"searchType":{"default":"web","type":"string","enum":["web"]}},"required":["propertyUrl","pageUrl","query","country","device","searchType"],"additionalProperties":false},"baseline":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"sourceRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"policy":{"type":"object","properties":{"windowDays":{"type":"integer","minimum":7,"maximum":90},"lagDays":{"type":"integer","minimum":1,"maximum":30},"minimumImpressions":{"type":"integer","minimum":1,"maximum":9007199254740991},"cooldownDays":{"type":"integer","minimum":1,"maximum":180}},"required":["windowDays","lagDays","minimumImpressions","cooldownDays"],"additionalProperties":false},"live":{"nullable":true,"type":"object","properties":{"publicationId":{"type":"string","minLength":1},"commitSha":{"type":"string","minLength":1},"deploymentId":{"nullable":true,"type":"string","minLength":1},"verifiedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canonicalUrl":{"type":"string","format":"uri"}},"required":["publicationId","commitSha","deploymentId","verifiedAt","canonicalUrl"],"additionalProperties":false},"nextEvaluationAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluation":{"nullable":true,"type":"object","properties":{"id":{"type":"string","minLength":1},"observation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"decision":{"type":"string","enum":["promising","inconclusive","needs_investigation"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"changes":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]},"nextEligibleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","observation","decision","reasons","evaluatedAt","changes","interpretation","nextEligibleAt"],"additionalProperties":false}},"required":["version","hypothesis","scope","baseline","sourceRevision","policy","live","nextEvaluationAt","evaluation"],"additionalProperties":false},"aiEvaluation":{"nullable":true,"type":"object","properties":{"promptId":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"baselineAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"comparison":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string"},"baseline":{"type":"string","enum":["absent","mentioned","cited"]},"current":{"nullable":true,"type":"string","enum":["absent","mentioned","cited"]},"checkedAt":{"nullable":true,"type":"string"},"change":{"nullable":true,"type":"string","enum":["improved","declined","same"]}},"required":["model","baseline","current","checkedAt","change"],"additionalProperties":false}},"decision":{"type":"string","enum":["improved","declined","unchanged","inconclusive"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]}},"required":["promptId","prompt","baselineAt","evaluatedAt","comparison","decision","reasons","interpretation"],"additionalProperties":false},"handoff":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["ai_answer_block"]},"promptId":{"type":"string","minLength":1,"maxLength":255},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"question":{"type":"string","minLength":1,"maxLength":200},"answer":{"type":"string","minLength":1,"maxLength":1000},"faqMarkdown":{"type":"string","minLength":1,"maxLength":4000},"faqHtml":{"type":"string","minLength":1,"maxLength":4000},"jsonLdScript":{"type":"string","minLength":1,"maxLength":4000},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["kind","promptId","pageUrl","question","answer","faqMarkdown","faqHtml","jsonLdScript","generatedAt","verifiedAt"],"additionalProperties":false},"spec":{"nullable":true,"type":"object","properties":{"executorId":{"type":"string","minLength":1,"maxLength":255},"params":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeOutputDefinitionSchema0"}},"riskTier":{"type":"string","enum":["low","medium","high"]},"rationale":{"type":"string","minLength":1,"maxLength":4000},"expectedEffect":{"type":"string","minLength":1,"maxLength":2000},"copy":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512}},"required":["path"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt_audit"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512},"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["path","finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["discovery_defect"]},"params":{"type":"object","properties":{"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["weak_ctr_title"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ctr":{"type":"number","minimum":0,"maximum":1},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","impressions","ctr","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["verified_content_gap"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"finding":{"type":"string","minLength":1,"maxLength":4000},"askedTopics":{"maxItems":3,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","finding","askedTopics","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["useful_internal_link"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"destinationUrl":{"type":"string","minLength":1,"maxLength":2048},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","destinationUrl","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false}]},"aiAnswer":{"type":"object","properties":{"promptId":{"type":"string","minLength":1,"maxLength":255},"prompt":{"type":"string","minLength":1,"maxLength":2000},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"state":{"type":"string","enum":["not_mentioned","not_cited"]},"answeredModels":{"type":"integer","minimum":0,"maximum":20},"checkedModels":{"type":"integer","minimum":0,"maximum":20},"competitorDomains":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"recheckDays":{"type":"integer","minimum":1,"maximum":90}},"required":["promptId","prompt","pageUrl","state","answeredModels","checkedModels","competitorDomains","recheckDays"],"additionalProperties":false},"evidenceRefs":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"dedupeKey":{"type":"string","minLength":1,"maxLength":255},"planId":{"type":"string","minLength":1,"maxLength":255},"dependsOn":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["executorId","params","riskTier","rationale","expectedEffect","evidenceRefs","dedupeKey","planId","dependsOn"],"additionalProperties":false},"allowedOperationIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"requiresReview":{"type":"boolean"},"estimatedCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"maxCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"reservedCostCents":{"type":"integer","minimum":0,"maximum":10000000},"budgetReservationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"actualCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"lastError":{"nullable":true,"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":100},"message":{"type":"string","minLength":1,"maxLength":500},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeOutputDefinitionSchema1"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false}},"required":["code","message"],"additionalProperties":false},"links":{"type":"object","properties":{"opportunityId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"findingId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"contentRevisionId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"executionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"reviewRequestId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"repositoryChangeId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"pullRequestUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"previewUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"publicationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"measurementIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["opportunityId","findingId","contentRevisionId","executionIds","reviewRequestId","repositoryChangeId","pullRequestUrl","previewUrl","publicationId","measurementIds"],"additionalProperties":false},"authorityRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fenceToken":{"type":"string","minLength":1,"maxLength":255},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"currency":{"type":"string","enum":["EUR"]},"preview":{"nullable":true,"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"contentPreview":{"nullable":true,"type":"string"},"truncated":{"type":"boolean"}},"required":["path","contentPreview","truncated"],"additionalProperties":false}},"urls":{"type":"array","items":{"type":"string"}}},"required":["files","urls"],"additionalProperties":false},"verification":{"type":"object","properties":{"strategy":{"type":"string","enum":["none","live_fetch","recheck_ai"]},"status":{"type":"string","enum":["not_applicable","pending","verified","failed"]}},"required":["strategy","status"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canRequestReview":{"type":"boolean"},"canApprove":{"type":"boolean"},"canReject":{"type":"boolean"},"canExecute":{"type":"boolean"},"canCancel":{"type":"boolean"}},"required":["canRequestReview","canApprove","canReject","canExecute","canCancel"],"additionalProperties":false}},"required":["id","accountId","workId","siteId","createdByUserId","title","description","kind","priority","targetDate","planningStatus","executionStatus","reviewStatus","publicationStatus","measurementStatus","control","improvement","aiEvaluation","handoff","spec","allowedOperationIds","requiresReview","estimatedCostCents","maxCostCents","reservedCostCents","budgetReservationId","actualCostCents","lastError","links","authorityRevision","fenceToken","revision","createdAt","updatedAt","lastProgressAt","currency","preview","verification","capabilities"],"additionalProperties":false},"OperationMarketingSeoAiAnswersProposeOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeOutputDefinitionSchema0"}}]},"OperationMarketingSeoAiAnswersProposeOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeOutputDefinitionSchema1"}}]},"OperationMarketingSeoAiAnswersProposeError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AI_PROMPT_NOT_FOUND","SEO_SITE_CONTEXT_REQUIRED","SEO_AI_BASELINE_REQUIRED","SEO_AI_ANSWER_ALREADY_CITED","SEO_AI_ANSWER_NO_PAGE","SEO_ACTION_CREATE_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiAnswersProposeErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiAnswersProposeErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiAnswersVerifyInput":{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["actionId"],"additionalProperties":false},"OperationMarketingSeoAiAnswersVerifyOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"accountId":{"type":"string","minLength":1,"maxLength":255},"workId":{"type":"string","minLength":1,"maxLength":255},"siteId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"createdByUserId":{"type":"string","minLength":1,"maxLength":255},"title":{"type":"string","minLength":1,"maxLength":300},"description":{"nullable":true,"type":"string","maxLength":4000},"kind":{"type":"string","enum":["research","monitor","prepare_draft","prepare_change","publication","measurement"]},"priority":{"type":"integer","minimum":0,"maximum":100},"targetDate":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"planningStatus":{"type":"string","enum":["draft","planned","blocked","canceled","completed"]},"executionStatus":{"type":"string","enum":["idle","queued","running","succeeded","failed","canceled"]},"reviewStatus":{"type":"string","enum":["not_required","pending","approved","rejected"]},"publicationStatus":{"type":"string","enum":["not_applicable","pending","merged","live","failed"]},"measurementStatus":{"type":"string","enum":["not_started","measuring","measured","failed"]},"control":{"type":"string","enum":["manual","delegated"]},"improvement":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"hypothesis":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"propertyUrl":{"type":"string","minLength":1},"pageUrl":{"type":"string","format":"uri"},"query":{"default":null,"nullable":true,"type":"string"},"country":{"default":null,"nullable":true,"type":"string"},"device":{"nullable":true,"type":"string","enum":["desktop","mobile","tablet"]},"searchType":{"default":"web","type":"string","enum":["web"]}},"required":["propertyUrl","pageUrl","query","country","device","searchType"],"additionalProperties":false},"baseline":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"sourceRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"policy":{"type":"object","properties":{"windowDays":{"type":"integer","minimum":7,"maximum":90},"lagDays":{"type":"integer","minimum":1,"maximum":30},"minimumImpressions":{"type":"integer","minimum":1,"maximum":9007199254740991},"cooldownDays":{"type":"integer","minimum":1,"maximum":180}},"required":["windowDays","lagDays","minimumImpressions","cooldownDays"],"additionalProperties":false},"live":{"nullable":true,"type":"object","properties":{"publicationId":{"type":"string","minLength":1},"commitSha":{"type":"string","minLength":1},"deploymentId":{"nullable":true,"type":"string","minLength":1},"verifiedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"canonicalUrl":{"type":"string","format":"uri"}},"required":["publicationId","commitSha","deploymentId","verifiedAt","canonicalUrl"],"additionalProperties":false},"nextEvaluationAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluation":{"nullable":true,"type":"object","properties":{"id":{"type":"string","minLength":1},"observation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number","minimum":0},"impressions":{"nullable":true,"type":"number","minimum":0},"ctr":{"nullable":true,"type":"number","minimum":0},"position":{"nullable":true,"type":"number","minimum":0}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"string","enum":["complete","partial","unknown"]},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"sourceResultId":{"type":"string","minLength":1},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","period","collectedAt","metrics","coverage","freshness","sourceResultId","rowCount"],"additionalProperties":false},"decision":{"type":"string","enum":["promising","inconclusive","needs_investigation"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"changes":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]},"nextEligibleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","observation","decision","reasons","evaluatedAt","changes","interpretation","nextEligibleAt"],"additionalProperties":false}},"required":["version","hypothesis","scope","baseline","sourceRevision","policy","live","nextEvaluationAt","evaluation"],"additionalProperties":false},"aiEvaluation":{"nullable":true,"type":"object","properties":{"promptId":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"baselineAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"evaluatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"comparison":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string"},"baseline":{"type":"string","enum":["absent","mentioned","cited"]},"current":{"nullable":true,"type":"string","enum":["absent","mentioned","cited"]},"checkedAt":{"nullable":true,"type":"string"},"change":{"nullable":true,"type":"string","enum":["improved","declined","same"]}},"required":["model","baseline","current","checkedAt","change"],"additionalProperties":false}},"decision":{"type":"string","enum":["improved","declined","unchanged","inconclusive"]},"reasons":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]}},"required":["promptId","prompt","baselineAt","evaluatedAt","comparison","decision","reasons","interpretation"],"additionalProperties":false},"handoff":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["ai_answer_block"]},"promptId":{"type":"string","minLength":1,"maxLength":255},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"question":{"type":"string","minLength":1,"maxLength":200},"answer":{"type":"string","minLength":1,"maxLength":1000},"faqMarkdown":{"type":"string","minLength":1,"maxLength":4000},"faqHtml":{"type":"string","minLength":1,"maxLength":4000},"jsonLdScript":{"type":"string","minLength":1,"maxLength":4000},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["kind","promptId","pageUrl","question","answer","faqMarkdown","faqHtml","jsonLdScript","generatedAt","verifiedAt"],"additionalProperties":false},"spec":{"nullable":true,"type":"object","properties":{"executorId":{"type":"string","minLength":1,"maxLength":255},"params":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyOutputDefinitionSchema0"}},"riskTier":{"type":"string","enum":["low","medium","high"]},"rationale":{"type":"string","minLength":1,"maxLength":4000},"expectedEffect":{"type":"string","minLength":1,"maxLength":2000},"copy":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512}},"required":["path"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["llms_txt_audit"]},"params":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512},"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["path","finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["discovery_defect"]},"params":{"type":"object","properties":{"finding":{"type":"string","minLength":1,"maxLength":4000}},"required":["finding"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["weak_ctr_title"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ctr":{"type":"number","minimum":0,"maximum":1},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","impressions","ctr","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["verified_content_gap"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"finding":{"type":"string","minLength":1,"maxLength":4000},"askedTopics":{"maxItems":3,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","finding","askedTopics","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["useful_internal_link"]},"params":{"type":"object","properties":{"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"destinationUrl":{"type":"string","minLength":1,"maxLength":2048},"businessScore":{"type":"integer","minimum":0,"maximum":100},"outcomeScore":{"type":"integer","minimum":0,"maximum":100},"rankDecline":{"type":"boolean"},"previousDecision":{"nullable":true,"type":"string","enum":["promising","inconclusive","needs_investigation"]}},"required":["pageUrl","destinationUrl","businessScore","outcomeScore","rankDecline","previousDecision"],"additionalProperties":false}},"required":["key","params"],"additionalProperties":false}]},"aiAnswer":{"type":"object","properties":{"promptId":{"type":"string","minLength":1,"maxLength":255},"prompt":{"type":"string","minLength":1,"maxLength":2000},"pageUrl":{"type":"string","minLength":1,"maxLength":2048},"state":{"type":"string","enum":["not_mentioned","not_cited"]},"answeredModels":{"type":"integer","minimum":0,"maximum":20},"checkedModels":{"type":"integer","minimum":0,"maximum":20},"competitorDomains":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"recheckDays":{"type":"integer","minimum":1,"maximum":90}},"required":["promptId","prompt","pageUrl","state","answeredModels","checkedModels","competitorDomains","recheckDays"],"additionalProperties":false},"evidenceRefs":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"dedupeKey":{"type":"string","minLength":1,"maxLength":255},"planId":{"type":"string","minLength":1,"maxLength":255},"dependsOn":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["executorId","params","riskTier","rationale","expectedEffect","evidenceRefs","dedupeKey","planId","dependsOn"],"additionalProperties":false},"allowedOperationIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"requiresReview":{"type":"boolean"},"estimatedCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"maxCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"reservedCostCents":{"type":"integer","minimum":0,"maximum":10000000},"budgetReservationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"actualCostCents":{"nullable":true,"type":"integer","minimum":0,"maximum":10000000},"lastError":{"nullable":true,"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":100},"message":{"type":"string","minLength":1,"maxLength":500},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyOutputDefinitionSchema1"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false}},"required":["code","message"],"additionalProperties":false},"links":{"type":"object","properties":{"opportunityId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"findingId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"contentRevisionId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"executionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"reviewRequestId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"repositoryChangeId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"pullRequestUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"previewUrl":{"nullable":true,"type":"string","maxLength":2048,"format":"uri"},"publicationId":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"measurementIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["opportunityId","findingId","contentRevisionId","executionIds","reviewRequestId","repositoryChangeId","pullRequestUrl","previewUrl","publicationId","measurementIds"],"additionalProperties":false},"authorityRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fenceToken":{"type":"string","minLength":1,"maxLength":255},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"currency":{"type":"string","enum":["EUR"]},"preview":{"nullable":true,"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"contentPreview":{"nullable":true,"type":"string"},"truncated":{"type":"boolean"}},"required":["path","contentPreview","truncated"],"additionalProperties":false}},"urls":{"type":"array","items":{"type":"string"}}},"required":["files","urls"],"additionalProperties":false},"verification":{"type":"object","properties":{"strategy":{"type":"string","enum":["none","live_fetch","recheck_ai"]},"status":{"type":"string","enum":["not_applicable","pending","verified","failed"]}},"required":["strategy","status"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canRequestReview":{"type":"boolean"},"canApprove":{"type":"boolean"},"canReject":{"type":"boolean"},"canExecute":{"type":"boolean"},"canCancel":{"type":"boolean"}},"required":["canRequestReview","canApprove","canReject","canExecute","canCancel"],"additionalProperties":false}},"required":["id","accountId","workId","siteId","createdByUserId","title","description","kind","priority","targetDate","planningStatus","executionStatus","reviewStatus","publicationStatus","measurementStatus","control","improvement","aiEvaluation","handoff","spec","allowedOperationIds","requiresReview","estimatedCostCents","maxCostCents","reservedCostCents","budgetReservationId","actualCostCents","lastError","links","authorityRevision","fenceToken","revision","createdAt","updatedAt","lastProgressAt","currency","preview","verification","capabilities"],"additionalProperties":false},"OperationMarketingSeoAiAnswersVerifyOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyOutputDefinitionSchema0"}}]},"OperationMarketingSeoAiAnswersVerifyOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyOutputDefinitionSchema1"}}]},"OperationMarketingSeoAiAnswersVerifyError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ACTION_NOT_FOUND","SEO_AI_ANSWER_HANDOFF_MISSING","SEO_LIVE_FETCH_FAILED","SEO_AI_ANSWER_NOT_LIVE","SEO_ACTION_REVISION_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiAnswersVerifyErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiAnswersVerifyErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiPromptRunsGetInput":{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.aiPromptRuns.get"}}},"required":["runId"]},"OperationMarketingSeoAiPromptRunsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["succeeded","failed","cancelled"]},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"promptId":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"citedDomains":{"type":"array","items":{"type":"string"}},"excerpt":{"type":"string"},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"stance":{"default":"unknown","type":"string","enum":["recommended","listed_neutrally","negative","unknown"]},"stanceAudit":{"default":null,"nullable":true,"type":"object","properties":{"definition":{"type":"string"},"adapter":{"nullable":true,"type":"string"},"provider":{"nullable":true,"type":"string"},"model":{"nullable":true,"type":"string"},"questions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"},"outcome":{"type":"string","enum":["accept","reject","abstain"]},"abstainReason":{"type":"string","enum":["band","refused","missing","invalid_output","unavailable"]},"topValue":{"nullable":true,"type":"string"},"probability":{"nullable":true,"type":"number"},"confidence":{"nullable":true,"type":"number"},"calibration":{"nullable":true,"type":"string","enum":["native","self_reported"]},"score":{"type":"number"}},"required":["name","value","outcome","topValue","probability","confidence","calibration"],"additionalProperties":false}},"failures":{"default":[],"type":"array","items":{"type":"object","properties":{"adapter":{"type":"string"},"code":{"type":"string","enum":["DECISION_PROVIDER_UNAVAILABLE","DECISION_RATE_LIMITED","DECISION_TIMEOUT","DECISION_QUOTA_EXCEEDED","DECISION_INVALID_REQUEST","DECISION_AUTH_FAILED","DECISION_INVALID_OUTPUT","DECISION_ABSTAINED"]}},"required":["adapter","code"],"additionalProperties":false}}},"required":["definition","adapter","provider","model","questions","failures"],"additionalProperties":false}},"required":["id","accountId","promptId","model","checkedAt","mentioned","cited","citedDomains","excerpt","costCents","costMicroCents","currency","stance","stanceAudit"],"additionalProperties":false}},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"method":{"nullable":true,"type":"string"},"processed":{"type":"integer","minimum":0,"maximum":9007199254740991},"pending":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"failures":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetOutputDefinitionSchema0"}},"skipped":{"type":"boolean"},"skipReason":{"nullable":true,"type":"string"}},"required":["id","status","completedAt","snapshots","costCents","costMicroCents","currency","method","processed","pending","failures","skipped","skipReason"],"additionalProperties":false},"OperationMarketingSeoAiPromptRunsGetOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptRunsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_RESEARCH_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiPromptRunsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiPromptRunsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoAiVisibilityMatrixGetInput":{"type":"object","properties":{"runs":{"default":8,"description":"How many recent run days to include in the trend.","type":"integer","minimum":1,"maximum":24}}},"OperationMarketingSeoAiVisibilityMatrixGetOutput":{"type":"object","properties":{"id":{"type":"string"},"currency":{"type":"string","enum":["USD"]},"prompts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"prompt":{"type":"string"},"models":{"type":"array","items":{"type":"string"}},"webSearch":{"type":"boolean"}},"required":["id","prompt","models","webSearch"],"additionalProperties":false}},"models":{"type":"array","items":{"type":"string"},"description":"Configured assistant models in column order."},"cells":{"type":"array","items":{"type":"object","properties":{"promptId":{"type":"string","x-moreflow-reference":{"resolver":"marketing.seo.ai.prompts.list"}},"model":{"type":"string"},"status":{"type":"string","enum":["cited","mentioned","absent","unchecked"],"description":"Latest result: cited beats mentioned beats absent; unchecked has no snapshot yet."},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"excerpt":{"nullable":true,"description":"Full text of the latest stored assistant answer.","type":"string"},"citedDomains":{"type":"array","items":{"type":"string"},"description":"Domains the assistant cited instead of the own domain."},"checks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"previousStatus":{"nullable":true,"type":"string","enum":["cited","mentioned","absent"]},"change":{"nullable":true,"type":"string","enum":["improved","declined","same"]}},"required":["promptId","model","status","checkedAt","excerpt","citedDomains","checks","previousStatus","change"],"additionalProperties":false}},"runs":{"type":"array","items":{"type":"object","properties":{"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC day bucket start."},"checks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentioned":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cited":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentionRate":{"type":"number"},"citationRate":{"type":"number"},"costCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"coverage":{"type":"number","description":"Share of scheduled prompt-model checks answered that day, 0-1."},"trendsReliable":{"type":"boolean","description":"False when coverage is below the threshold; hide or caveat this day's rates."}},"required":["checkedAt","checks","mentioned","cited","mentionRate","citationRate","costCents","costMicroCents","currency","coverage","trendsReliable"],"additionalProperties":false}},"summary":{"type":"object","properties":{"prompts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"models":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cells":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cited":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentioned":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"absent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unchecked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentionRate":{"type":"number"},"citationRate":{"type":"number"},"lastCheckedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"monthToDateCostCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coverage":{"type":"object","properties":{"scheduled":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Active prompt-model checks scheduled per run."},"answered":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Scheduled checks with a latest snapshot."},"ratio":{"type":"number"},"thresholdPercent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"trendsReliable":{"type":"boolean"}},"required":["scheduled","answered","ratio","thresholdPercent","trendsReliable"],"additionalProperties":false},"trendsReliable":{"type":"boolean","description":"Mirrors coverage.trendsReliable; false means trends are insufficient and must not be presented as movement."}},"required":["prompts","models","cells","cited","mentioned","absent","unchecked","mentionRate","citationRate","lastCheckedAt","monthToDateCostCents","coverage","trendsReliable"],"additionalProperties":false},"citedInstead":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"prompts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["domain","count","prompts"],"additionalProperties":false}}},"required":["id","currency","prompts","models","cells","runs","summary","citedInstead"],"additionalProperties":false},"OperationMarketingSeoAiVisibilityMatrixGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AI_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAiVisibilityMatrixGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoAiVisibilityMatrixGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoArticlesApproveInput":{"type":"object","properties":{"articleId":{"type":"string","minLength":1,"maxLength":200},"expectedRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["articleId","expectedRevision"],"additionalProperties":false},"OperationMarketingSeoArticlesApproveOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"targetId":{"type":"string"},"workId":{"nullable":true,"type":"string"},"opportunityId":{"nullable":true,"type":"string"},"creationIdempotencyKey":{"nullable":true,"type":"string"},"brief":{"type":"object","properties":{"aiVisibility":{"default":null,"nullable":true,"type":"object","properties":{"promptId":{"type":"string"},"prompt":{"type":"string"},"siteDomain":{"type":"string"},"webSearch":{"type":"boolean"},"savedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"excerpt":{"type":"string"},"citedDomains":{"type":"array","items":{"type":"string"}}},"required":["id","model","checkedAt","mentioned","cited","excerpt","citedDomains"],"additionalProperties":false}}},"required":["promptId","prompt","siteDomain","webSearch","savedAt","snapshots"],"additionalProperties":false},"primaryKeyword":{"type":"string","minLength":1},"secondaryKeywords":{"maxItems":30,"type":"array","items":{"type":"string"}},"searchIntent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"locale":{"type":"string","minLength":2},"businessContext":{"type":"string","minLength":1},"sourceEvidence":{"type":"array","items":{"type":"object","properties":{"sourceId":{"type":"string"},"summary":{"type":"string"}},"required":["sourceId","summary"],"additionalProperties":false}},"unsupportedFacts":{"type":"array","items":{"type":"string"}}},"required":["aiVisibility","primaryKeyword","secondaryKeywords","searchIntent","locale","businessContext","sourceEvidence","unsupportedFacts"],"additionalProperties":false},"currentRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"approvedRevision":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","needs_review","approved","archived"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revision":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"articleId":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"content":{"type":"object","properties":{"title":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"metaTitle":{"type":"string","minLength":1},"metaDescription":{"type":"string","minLength":1},"outline":{"minItems":1,"type":"array","items":{"type":"string"}},"body":{"type":"string","minLength":1}},"required":["title","slug","metaTitle","metaDescription","outline","body"],"additionalProperties":false},"provenance":{"type":"string","enum":["generated","human","imported","refined"]},"sourceRevision":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"idempotencyKey":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdBy":{"type":"string","enum":["user","flow","ai"]}},"required":["id","articleId","accountId","revision","content","provenance","sourceRevision","idempotencyKey","createdAt","createdBy"],"additionalProperties":false}},"required":["id","accountId","targetId","workId","opportunityId","creationIdempotencyKey","brief","currentRevision","approvedRevision","status","createdAt","updatedAt","revision"],"additionalProperties":false},"OperationMarketingSeoArticlesApproveError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ARTICLE_REVISION_NOT_FOUND","SEO_ARTICLE_STALE_REVISION"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoArticlesApproveErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveErrorDefinitionSchema0"}}]},"OperationMarketingSeoArticlesApproveErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveErrorDefinitionSchema1"}}]},"OperationMarketingSeoArticlesCreateInput":{"type":"object","properties":{"targetId":{"type":"string","minLength":1},"brief":{"type":"object","properties":{"aiVisibility":{"nullable":true,"type":"object","properties":{"promptId":{"type":"string"},"prompt":{"type":"string"},"siteDomain":{"type":"string"},"webSearch":{"type":"boolean"},"savedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"excerpt":{"type":"string"},"citedDomains":{"type":"array","items":{"type":"string"}}},"required":["id","model","checkedAt","mentioned","cited","excerpt","citedDomains"]}}},"required":["promptId","prompt","siteDomain","webSearch","savedAt","snapshots"]},"primaryKeyword":{"type":"string","minLength":1},"secondaryKeywords":{"maxItems":30,"type":"array","items":{"type":"string"}},"searchIntent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"locale":{"type":"string","minLength":2},"businessContext":{"type":"string","minLength":1},"sourceEvidence":{"type":"array","items":{"type":"object","properties":{"sourceId":{"type":"string"},"summary":{"type":"string"}},"required":["sourceId","summary"]}},"unsupportedFacts":{"type":"array","items":{"type":"string"}}},"required":["primaryKeyword","secondaryKeywords","searchIntent","locale","businessContext","sourceEvidence","unsupportedFacts"]},"content":{"type":"object","properties":{"title":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"metaTitle":{"type":"string","minLength":1},"metaDescription":{"type":"string","minLength":1},"outline":{"minItems":1,"type":"array","items":{"type":"string"}},"body":{"type":"string","minLength":1}},"required":["title","slug","metaTitle","metaDescription","outline","body"]},"idempotencyKey":{"type":"string","minLength":1},"workId":{"nullable":true,"type":"string"},"opportunityId":{"nullable":true,"type":"string"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["targetId","brief","content","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoArticlesCreateOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"targetId":{"type":"string"},"workId":{"nullable":true,"type":"string"},"opportunityId":{"nullable":true,"type":"string"},"creationIdempotencyKey":{"nullable":true,"type":"string"},"brief":{"type":"object","properties":{"aiVisibility":{"default":null,"nullable":true,"type":"object","properties":{"promptId":{"type":"string"},"prompt":{"type":"string"},"siteDomain":{"type":"string"},"webSearch":{"type":"boolean"},"savedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"excerpt":{"type":"string"},"citedDomains":{"type":"array","items":{"type":"string"}}},"required":["id","model","checkedAt","mentioned","cited","excerpt","citedDomains"],"additionalProperties":false}}},"required":["promptId","prompt","siteDomain","webSearch","savedAt","snapshots"],"additionalProperties":false},"primaryKeyword":{"type":"string","minLength":1},"secondaryKeywords":{"maxItems":30,"type":"array","items":{"type":"string"}},"searchIntent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"locale":{"type":"string","minLength":2},"businessContext":{"type":"string","minLength":1},"sourceEvidence":{"type":"array","items":{"type":"object","properties":{"sourceId":{"type":"string"},"summary":{"type":"string"}},"required":["sourceId","summary"],"additionalProperties":false}},"unsupportedFacts":{"type":"array","items":{"type":"string"}}},"required":["aiVisibility","primaryKeyword","secondaryKeywords","searchIntent","locale","businessContext","sourceEvidence","unsupportedFacts"],"additionalProperties":false},"currentRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"approvedRevision":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","needs_review","approved","archived"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revision":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"articleId":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"content":{"type":"object","properties":{"title":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"metaTitle":{"type":"string","minLength":1},"metaDescription":{"type":"string","minLength":1},"outline":{"minItems":1,"type":"array","items":{"type":"string"}},"body":{"type":"string","minLength":1}},"required":["title","slug","metaTitle","metaDescription","outline","body"],"additionalProperties":false},"provenance":{"type":"string","enum":["generated","human","imported","refined"]},"sourceRevision":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"idempotencyKey":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdBy":{"type":"string","enum":["user","flow","ai"]}},"required":["id","articleId","accountId","revision","content","provenance","sourceRevision","idempotencyKey","createdAt","createdBy"],"additionalProperties":false}},"required":["id","accountId","targetId","workId","opportunityId","creationIdempotencyKey","brief","currentRevision","approvedRevision","status","createdAt","updatedAt","revision"],"additionalProperties":false},"OperationMarketingSeoArticlesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ARTICLE_CREATE_FAILED","SEO_ARTICLE_IDEMPOTENCY_CONFLICT","SEO_ARTICLE_KEYWORD_GROUNDING","SEO_ARTICLE_NOT_FOUND","SEO_ARTICLE_STALE_REVISION"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoArticlesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoArticlesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoArticlesGenerateInput":{"type":"object","properties":{"targetId":{"type":"string","minLength":1},"targetUrl":{"type":"string","format":"uri"},"brief":{"type":"object","properties":{"aiVisibility":{"nullable":true,"type":"object","properties":{"promptId":{"type":"string"},"prompt":{"type":"string"},"siteDomain":{"type":"string"},"webSearch":{"type":"boolean"},"savedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"excerpt":{"type":"string"},"citedDomains":{"type":"array","items":{"type":"string"}}},"required":["id","model","checkedAt","mentioned","cited","excerpt","citedDomains"]}}},"required":["promptId","prompt","siteDomain","webSearch","savedAt","snapshots"]},"primaryKeyword":{"type":"string","minLength":1},"secondaryKeywords":{"maxItems":30,"type":"array","items":{"type":"string"}},"searchIntent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"locale":{"type":"string","minLength":2},"businessContext":{"type":"string","minLength":1},"sourceEvidence":{"type":"array","items":{"type":"object","properties":{"sourceId":{"type":"string"},"summary":{"type":"string"}},"required":["sourceId","summary"]}},"unsupportedFacts":{"type":"array","items":{"type":"string"}}},"required":["primaryKeyword","secondaryKeywords","searchIntent","locale","businessContext","sourceEvidence","unsupportedFacts"]},"articleId":{"type":"string","minLength":1,"maxLength":200},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"idempotencyKey":{"type":"string","minLength":1},"instruction":{"type":"string"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["targetId","targetUrl","brief","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoArticlesGenerateOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"targetId":{"type":"string"},"workId":{"nullable":true,"type":"string"},"opportunityId":{"nullable":true,"type":"string"},"creationIdempotencyKey":{"nullable":true,"type":"string"},"brief":{"type":"object","properties":{"aiVisibility":{"default":null,"nullable":true,"type":"object","properties":{"promptId":{"type":"string"},"prompt":{"type":"string"},"siteDomain":{"type":"string"},"webSearch":{"type":"boolean"},"savedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"excerpt":{"type":"string"},"citedDomains":{"type":"array","items":{"type":"string"}}},"required":["id","model","checkedAt","mentioned","cited","excerpt","citedDomains"],"additionalProperties":false}}},"required":["promptId","prompt","siteDomain","webSearch","savedAt","snapshots"],"additionalProperties":false},"primaryKeyword":{"type":"string","minLength":1},"secondaryKeywords":{"maxItems":30,"type":"array","items":{"type":"string"}},"searchIntent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"locale":{"type":"string","minLength":2},"businessContext":{"type":"string","minLength":1},"sourceEvidence":{"type":"array","items":{"type":"object","properties":{"sourceId":{"type":"string"},"summary":{"type":"string"}},"required":["sourceId","summary"],"additionalProperties":false}},"unsupportedFacts":{"type":"array","items":{"type":"string"}}},"required":["aiVisibility","primaryKeyword","secondaryKeywords","searchIntent","locale","businessContext","sourceEvidence","unsupportedFacts"],"additionalProperties":false},"currentRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"approvedRevision":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","needs_review","approved","archived"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revision":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"articleId":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"content":{"type":"object","properties":{"title":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"metaTitle":{"type":"string","minLength":1},"metaDescription":{"type":"string","minLength":1},"outline":{"minItems":1,"type":"array","items":{"type":"string"}},"body":{"type":"string","minLength":1}},"required":["title","slug","metaTitle","metaDescription","outline","body"],"additionalProperties":false},"provenance":{"type":"string","enum":["generated","human","imported","refined"]},"sourceRevision":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"idempotencyKey":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdBy":{"type":"string","enum":["user","flow","ai"]}},"required":["id","articleId","accountId","revision","content","provenance","sourceRevision","idempotencyKey","createdAt","createdBy"],"additionalProperties":false}},"required":["id","accountId","targetId","workId","opportunityId","creationIdempotencyKey","brief","currentRevision","approvedRevision","status","createdAt","updatedAt","revision"],"additionalProperties":false},"OperationMarketingSeoArticlesGenerateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ARTICLE_CREATE_FAILED","SEO_ARTICLE_GENERATION_FAILED","SEO_ARTICLE_GENERATION_INVALID","SEO_ARTICLE_GENERATION_UNAVAILABLE","SEO_ARTICLE_IDEMPOTENCY_CONFLICT","SEO_ARTICLE_KEYWORD_GROUNDING","SEO_ARTICLE_NOT_FOUND","SEO_ARTICLE_STALE_REVISION"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoArticlesGenerateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateErrorDefinitionSchema0"}}]},"OperationMarketingSeoArticlesGenerateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateErrorDefinitionSchema1"}}]},"OperationMarketingSeoArticlesGenerateRevisionInput":{"type":"object","properties":{"articleId":{"type":"string","minLength":1,"maxLength":200},"targetUrl":{"type":"string","format":"uri"},"expectedRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"instruction":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["articleId","targetUrl","expectedRevision","instruction","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoArticlesGenerateRevisionOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"targetId":{"type":"string"},"workId":{"nullable":true,"type":"string"},"opportunityId":{"nullable":true,"type":"string"},"creationIdempotencyKey":{"nullable":true,"type":"string"},"brief":{"type":"object","properties":{"aiVisibility":{"default":null,"nullable":true,"type":"object","properties":{"promptId":{"type":"string"},"prompt":{"type":"string"},"siteDomain":{"type":"string"},"webSearch":{"type":"boolean"},"savedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"excerpt":{"type":"string"},"citedDomains":{"type":"array","items":{"type":"string"}}},"required":["id","model","checkedAt","mentioned","cited","excerpt","citedDomains"],"additionalProperties":false}}},"required":["promptId","prompt","siteDomain","webSearch","savedAt","snapshots"],"additionalProperties":false},"primaryKeyword":{"type":"string","minLength":1},"secondaryKeywords":{"maxItems":30,"type":"array","items":{"type":"string"}},"searchIntent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"locale":{"type":"string","minLength":2},"businessContext":{"type":"string","minLength":1},"sourceEvidence":{"type":"array","items":{"type":"object","properties":{"sourceId":{"type":"string"},"summary":{"type":"string"}},"required":["sourceId","summary"],"additionalProperties":false}},"unsupportedFacts":{"type":"array","items":{"type":"string"}}},"required":["aiVisibility","primaryKeyword","secondaryKeywords","searchIntent","locale","businessContext","sourceEvidence","unsupportedFacts"],"additionalProperties":false},"currentRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"approvedRevision":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","needs_review","approved","archived"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revision":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"articleId":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"content":{"type":"object","properties":{"title":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"metaTitle":{"type":"string","minLength":1},"metaDescription":{"type":"string","minLength":1},"outline":{"minItems":1,"type":"array","items":{"type":"string"}},"body":{"type":"string","minLength":1}},"required":["title","slug","metaTitle","metaDescription","outline","body"],"additionalProperties":false},"provenance":{"type":"string","enum":["generated","human","imported","refined"]},"sourceRevision":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"idempotencyKey":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdBy":{"type":"string","enum":["user","flow","ai"]}},"required":["id","articleId","accountId","revision","content","provenance","sourceRevision","idempotencyKey","createdAt","createdBy"],"additionalProperties":false}},"required":["id","accountId","targetId","workId","opportunityId","creationIdempotencyKey","brief","currentRevision","approvedRevision","status","createdAt","updatedAt","revision"],"additionalProperties":false},"OperationMarketingSeoArticlesGenerateRevisionError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ARTICLE_IDEMPOTENCY_CONFLICT","SEO_ARTICLE_KEYWORD_GROUNDING","SEO_ARTICLE_NOT_FOUND","SEO_ARTICLE_REFINEMENT_FAILED","SEO_ARTICLE_REFINEMENT_INVALID","SEO_ARTICLE_REFINEMENT_UNAVAILABLE","SEO_ARTICLE_REVISION_NOT_FOUND","SEO_ARTICLE_STALE_REVISION"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoArticlesGenerateRevisionErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionErrorDefinitionSchema0"}}]},"OperationMarketingSeoArticlesGenerateRevisionErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionErrorDefinitionSchema1"}}]},"OperationMarketingSeoArticlesGetInput":{"type":"object","properties":{"articleId":{"type":"string","minLength":1,"maxLength":200}},"required":["articleId"],"additionalProperties":false},"OperationMarketingSeoArticlesGetOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"targetId":{"type":"string"},"workId":{"nullable":true,"type":"string"},"opportunityId":{"nullable":true,"type":"string"},"creationIdempotencyKey":{"nullable":true,"type":"string"},"brief":{"type":"object","properties":{"aiVisibility":{"default":null,"nullable":true,"type":"object","properties":{"promptId":{"type":"string"},"prompt":{"type":"string"},"siteDomain":{"type":"string"},"webSearch":{"type":"boolean"},"savedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"excerpt":{"type":"string"},"citedDomains":{"type":"array","items":{"type":"string"}}},"required":["id","model","checkedAt","mentioned","cited","excerpt","citedDomains"],"additionalProperties":false}}},"required":["promptId","prompt","siteDomain","webSearch","savedAt","snapshots"],"additionalProperties":false},"primaryKeyword":{"type":"string","minLength":1},"secondaryKeywords":{"maxItems":30,"type":"array","items":{"type":"string"}},"searchIntent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"locale":{"type":"string","minLength":2},"businessContext":{"type":"string","minLength":1},"sourceEvidence":{"type":"array","items":{"type":"object","properties":{"sourceId":{"type":"string"},"summary":{"type":"string"}},"required":["sourceId","summary"],"additionalProperties":false}},"unsupportedFacts":{"type":"array","items":{"type":"string"}}},"required":["aiVisibility","primaryKeyword","secondaryKeywords","searchIntent","locale","businessContext","sourceEvidence","unsupportedFacts"],"additionalProperties":false},"currentRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"approvedRevision":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","needs_review","approved","archived"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revision":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"articleId":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"content":{"type":"object","properties":{"title":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"metaTitle":{"type":"string","minLength":1},"metaDescription":{"type":"string","minLength":1},"outline":{"minItems":1,"type":"array","items":{"type":"string"}},"body":{"type":"string","minLength":1}},"required":["title","slug","metaTitle","metaDescription","outline","body"],"additionalProperties":false},"provenance":{"type":"string","enum":["generated","human","imported","refined"]},"sourceRevision":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"idempotencyKey":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdBy":{"type":"string","enum":["user","flow","ai"]}},"required":["id","articleId","accountId","revision","content","provenance","sourceRevision","idempotencyKey","createdAt","createdBy"],"additionalProperties":false}},"required":["id","accountId","targetId","workId","opportunityId","creationIdempotencyKey","brief","currentRevision","approvedRevision","status","createdAt","updatedAt","revision"],"additionalProperties":false},"OperationMarketingSeoArticlesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ARTICLE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoArticlesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoArticlesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoArticlesListInput":{"type":"object","properties":{"targetId":{"type":"string"},"status":{"type":"string","enum":["draft","needs_review","approved","archived"]},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string"}},"additionalProperties":false},"OperationMarketingSeoArticlesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"targetId":{"type":"string"},"workId":{"nullable":true,"type":"string"},"opportunityId":{"nullable":true,"type":"string"},"creationIdempotencyKey":{"nullable":true,"type":"string"},"brief":{"type":"object","properties":{"aiVisibility":{"default":null,"nullable":true,"type":"object","properties":{"promptId":{"type":"string"},"prompt":{"type":"string"},"siteDomain":{"type":"string"},"webSearch":{"type":"boolean"},"savedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"excerpt":{"type":"string"},"citedDomains":{"type":"array","items":{"type":"string"}}},"required":["id","model","checkedAt","mentioned","cited","excerpt","citedDomains"],"additionalProperties":false}}},"required":["promptId","prompt","siteDomain","webSearch","savedAt","snapshots"],"additionalProperties":false},"primaryKeyword":{"type":"string","minLength":1},"secondaryKeywords":{"maxItems":30,"type":"array","items":{"type":"string"}},"searchIntent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"locale":{"type":"string","minLength":2},"businessContext":{"type":"string","minLength":1},"sourceEvidence":{"type":"array","items":{"type":"object","properties":{"sourceId":{"type":"string"},"summary":{"type":"string"}},"required":["sourceId","summary"],"additionalProperties":false}},"unsupportedFacts":{"type":"array","items":{"type":"string"}}},"required":["aiVisibility","primaryKeyword","secondaryKeywords","searchIntent","locale","businessContext","sourceEvidence","unsupportedFacts"],"additionalProperties":false},"currentRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"approvedRevision":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","needs_review","approved","archived"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","targetId","workId","opportunityId","creationIdempotencyKey","brief","currentRevision","approvedRevision","status","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoArticlesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoArticlesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListErrorDefinitionSchema0"}}]},"OperationMarketingSeoArticlesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListErrorDefinitionSchema1"}}]},"OperationMarketingSeoArticlesUpdateInput":{"type":"object","properties":{"articleId":{"type":"string","minLength":1,"maxLength":200},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"content":{"type":"object","properties":{"title":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"metaTitle":{"type":"string","minLength":1},"metaDescription":{"type":"string","minLength":1},"outline":{"minItems":1,"type":"array","items":{"type":"string"}},"body":{"type":"string","minLength":1}},"required":["title","slug","metaTitle","metaDescription","outline","body"]},"idempotencyKey":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["articleId","expectedRevision","content","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoArticlesUpdateOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"targetId":{"type":"string"},"workId":{"nullable":true,"type":"string"},"opportunityId":{"nullable":true,"type":"string"},"creationIdempotencyKey":{"nullable":true,"type":"string"},"brief":{"type":"object","properties":{"aiVisibility":{"default":null,"nullable":true,"type":"object","properties":{"promptId":{"type":"string"},"prompt":{"type":"string"},"siteDomain":{"type":"string"},"webSearch":{"type":"boolean"},"savedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"mentioned":{"type":"boolean"},"cited":{"type":"boolean"},"excerpt":{"type":"string"},"citedDomains":{"type":"array","items":{"type":"string"}}},"required":["id","model","checkedAt","mentioned","cited","excerpt","citedDomains"],"additionalProperties":false}}},"required":["promptId","prompt","siteDomain","webSearch","savedAt","snapshots"],"additionalProperties":false},"primaryKeyword":{"type":"string","minLength":1},"secondaryKeywords":{"maxItems":30,"type":"array","items":{"type":"string"}},"searchIntent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"locale":{"type":"string","minLength":2},"businessContext":{"type":"string","minLength":1},"sourceEvidence":{"type":"array","items":{"type":"object","properties":{"sourceId":{"type":"string"},"summary":{"type":"string"}},"required":["sourceId","summary"],"additionalProperties":false}},"unsupportedFacts":{"type":"array","items":{"type":"string"}}},"required":["aiVisibility","primaryKeyword","secondaryKeywords","searchIntent","locale","businessContext","sourceEvidence","unsupportedFacts"],"additionalProperties":false},"currentRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"approvedRevision":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["draft","needs_review","approved","archived"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revision":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"articleId":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"content":{"type":"object","properties":{"title":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"metaTitle":{"type":"string","minLength":1},"metaDescription":{"type":"string","minLength":1},"outline":{"minItems":1,"type":"array","items":{"type":"string"}},"body":{"type":"string","minLength":1}},"required":["title","slug","metaTitle","metaDescription","outline","body"],"additionalProperties":false},"provenance":{"type":"string","enum":["generated","human","imported","refined"]},"sourceRevision":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"idempotencyKey":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdBy":{"type":"string","enum":["user","flow","ai"]}},"required":["id","articleId","accountId","revision","content","provenance","sourceRevision","idempotencyKey","createdAt","createdBy"],"additionalProperties":false}},"required":["id","accountId","targetId","workId","opportunityId","creationIdempotencyKey","brief","currentRevision","approvedRevision","status","createdAt","updatedAt","revision"],"additionalProperties":false},"OperationMarketingSeoArticlesUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ARTICLE_IDEMPOTENCY_CONFLICT","SEO_ARTICLE_KEYWORD_GROUNDING","SEO_ARTICLE_NOT_FOUND","SEO_ARTICLE_STALE_REVISION"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoArticlesUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoArticlesUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoAuditFindingsAssignInput":{"type":"object","properties":{"findingId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["findingId","expectedRevision","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoAuditFindingsAssignOutput":{"type":"object","properties":{"finding":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"fingerprint":{"type":"string","minLength":1,"maxLength":8000},"rule":{"type":"string","minLength":1,"maxLength":8000},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"pageUrl":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"severity":{"type":"string","enum":["error","warning","info"]},"message":{"type":"string","minLength":1,"maxLength":8000},"action":{"type":"string","minLength":1,"maxLength":8000},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"status":{"type":"string","enum":["open","dismissed","deferred","resolved","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"decisionNote":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedWorkId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedActionId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"firstObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"observations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"observedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"state":{"type":"string","enum":["present","absent","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"severity":{"type":"string","enum":["error","warning","info"]},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"previousObservationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","reportId","observedAt","state","comparison","severity","evidence","previousObservationId"],"additionalProperties":false}}},"required":["id","accountId","fingerprint","rule","reportId","pageUrl","severity","message","action","evidence","status","comparison","decisionNote","linkedWorkId","linkedActionId","revision","firstObservedAt","lastObservedAt","observations"],"additionalProperties":false},"workId":{"type":"string","minLength":1,"maxLength":8000},"actionId":{"nullable":true,"type":"string","minLength":1,"maxLength":8000},"replay":{"type":"boolean"}},"required":["finding","workId","actionId","replay"],"additionalProperties":false},"OperationMarketingSeoAuditFindingsAssignError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AUDIT_FINDING_ALREADY_LINKED","SEO_AUDIT_FINDING_CONFLICT","SEO_AUDIT_FINDING_NOT_FOUND","SEO_AUDIT_IDEMPOTENCY_CONFLICT","SEO_WORK_ACTION_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAuditFindingsAssignErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignErrorDefinitionSchema0"}}]},"OperationMarketingSeoAuditFindingsAssignErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignErrorDefinitionSchema1"}}]},"OperationMarketingSeoAuditFindingsGetInput":{"type":"object","properties":{"findingId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["findingId"],"additionalProperties":false},"OperationMarketingSeoAuditFindingsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"fingerprint":{"type":"string","minLength":1,"maxLength":8000},"rule":{"type":"string","minLength":1,"maxLength":8000},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"pageUrl":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"severity":{"type":"string","enum":["error","warning","info"]},"message":{"type":"string","minLength":1,"maxLength":8000},"action":{"type":"string","minLength":1,"maxLength":8000},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"status":{"type":"string","enum":["open","dismissed","deferred","resolved","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"decisionNote":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedWorkId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedActionId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"firstObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"observations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"observedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"state":{"type":"string","enum":["present","absent","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"severity":{"type":"string","enum":["error","warning","info"]},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"previousObservationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","reportId","observedAt","state","comparison","severity","evidence","previousObservationId"],"additionalProperties":false}}},"required":["id","accountId","fingerprint","rule","reportId","pageUrl","severity","message","action","evidence","status","comparison","decisionNote","linkedWorkId","linkedActionId","revision","firstObservedAt","lastObservedAt","observations"],"additionalProperties":false},"OperationMarketingSeoAuditFindingsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AUDIT_FINDING_CONFLICT","SEO_AUDIT_FINDING_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAuditFindingsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoAuditFindingsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoAuditFindingsListInput":{"type":"object","properties":{"siteDomain":{"type":"string","minLength":1,"maxLength":8000},"auditId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["open","dismissed","deferred","resolved","unknown"]},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string"}},"additionalProperties":false},"OperationMarketingSeoAuditFindingsListOutput":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"fingerprint":{"type":"string","minLength":1,"maxLength":8000},"rule":{"type":"string","minLength":1,"maxLength":8000},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"pageUrl":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"severity":{"type":"string","enum":["error","warning","info"]},"message":{"type":"string","minLength":1,"maxLength":8000},"action":{"type":"string","minLength":1,"maxLength":8000},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"status":{"type":"string","enum":["open","dismissed","deferred","resolved","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"decisionNote":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedWorkId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedActionId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"firstObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"observations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"observedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"state":{"type":"string","enum":["present","absent","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"severity":{"type":"string","enum":["error","warning","info"]},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"previousObservationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","reportId","observedAt","state","comparison","severity","evidence","previousObservationId"],"additionalProperties":false}}},"required":["id","accountId","fingerprint","rule","reportId","pageUrl","severity","message","action","evidence","status","comparison","decisionNote","linkedWorkId","linkedActionId","revision","firstObservedAt","lastObservedAt","observations"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoAuditFindingsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAuditFindingsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoAuditFindingsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoAuditsCreateInput":{"type":"object","properties":{"siteDomain":{"type":"string","minLength":1,"maxLength":8000},"requestedUrls":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":8000}},"maximumPages":{"default":25,"type":"integer","minimum":1,"maximum":100},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteDomain","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoAuditsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteUrl":{"type":"string","minLength":1,"maxLength":8000},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"bounded":{"type":"boolean","enum":[true]},"scope":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1,"maxLength":8000},"scopeKey":{"type":"string","minLength":1,"maxLength":8000},"requestedUrls":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":8000}},"maximumPages":{"type":"integer","minimum":1,"maximum":100},"pagesDiscovered":{"type":"integer","minimum":0,"maximum":10000},"pagesPlanned":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":10000},"pagesAudited":{"type":"integer","minimum":0,"maximum":100},"skippedPages":{"type":"integer","minimum":0,"maximum":10000},"truncated":{"default":false,"type":"boolean"},"truncationReason":{"default":null,"nullable":true,"type":"string","enum":["deadline","rate_limited","bot_challenge","page_limit","sitemap_limit","link_check_limit"]},"bounded":{"type":"boolean","enum":[true]}},"required":["siteUrl","scopeKey","requestedUrls","maximumPages","pagesDiscovered","pagesPlanned","pagesAudited","skippedPages","truncated","truncationReason","bounded"],"additionalProperties":false},"provenance":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false}},"findingIds":{"maxItems":2000,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"recheckOfAuditId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"findings":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"fingerprint":{"type":"string","minLength":1,"maxLength":8000},"rule":{"type":"string","minLength":1,"maxLength":8000},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"pageUrl":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"severity":{"type":"string","enum":["error","warning","info"]},"message":{"type":"string","minLength":1,"maxLength":8000},"action":{"type":"string","minLength":1,"maxLength":8000},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"status":{"type":"string","enum":["open","dismissed","deferred","resolved","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"decisionNote":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedWorkId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedActionId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"firstObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"observations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"observedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"state":{"type":"string","enum":["present","absent","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"severity":{"type":"string","enum":["error","warning","info"]},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"previousObservationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","reportId","observedAt","state","comparison","severity","evidence","previousObservationId"],"additionalProperties":false}}},"required":["id","accountId","fingerprint","rule","reportId","pageUrl","severity","message","action","evidence","status","comparison","decisionNote","linkedWorkId","linkedActionId","revision","firstObservedAt","lastObservedAt","observations"],"additionalProperties":false}},"replay":{"type":"boolean"}},"required":["id","accountId","siteUrl","sourceOperationId","startedAt","completedAt","completeness","bounded","scope","provenance","findingIds","recheckOfAuditId","revision","findings","replay"],"additionalProperties":false},"OperationMarketingSeoAuditsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AUDIT_IDEMPOTENCY_CONFLICT","SEO_AUDIT_NOT_FOUND","SEO_AUDIT_RESULT_INVALID","SEO_AUDIT_RUN_FAILED","SEO_AUDIT_SCOPE_MISMATCH","SEO_AUDIT_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAuditsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoAuditsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoAuditsGetInput":{"type":"object","properties":{"auditId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["auditId"],"additionalProperties":false},"OperationMarketingSeoAuditsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteUrl":{"type":"string","minLength":1,"maxLength":8000},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"bounded":{"type":"boolean","enum":[true]},"scope":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1,"maxLength":8000},"scopeKey":{"type":"string","minLength":1,"maxLength":8000},"requestedUrls":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":8000}},"maximumPages":{"type":"integer","minimum":1,"maximum":100},"pagesDiscovered":{"type":"integer","minimum":0,"maximum":10000},"pagesPlanned":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":10000},"pagesAudited":{"type":"integer","minimum":0,"maximum":100},"skippedPages":{"type":"integer","minimum":0,"maximum":10000},"truncated":{"default":false,"type":"boolean"},"truncationReason":{"default":null,"nullable":true,"type":"string","enum":["deadline","rate_limited","bot_challenge","page_limit","sitemap_limit","link_check_limit"]},"bounded":{"type":"boolean","enum":[true]}},"required":["siteUrl","scopeKey","requestedUrls","maximumPages","pagesDiscovered","pagesPlanned","pagesAudited","skippedPages","truncated","truncationReason","bounded"],"additionalProperties":false},"provenance":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false}},"findingIds":{"maxItems":2000,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"recheckOfAuditId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"findings":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"fingerprint":{"type":"string","minLength":1,"maxLength":8000},"rule":{"type":"string","minLength":1,"maxLength":8000},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"pageUrl":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"severity":{"type":"string","enum":["error","warning","info"]},"message":{"type":"string","minLength":1,"maxLength":8000},"action":{"type":"string","minLength":1,"maxLength":8000},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"status":{"type":"string","enum":["open","dismissed","deferred","resolved","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"decisionNote":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedWorkId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedActionId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"firstObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"observations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"observedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"state":{"type":"string","enum":["present","absent","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"severity":{"type":"string","enum":["error","warning","info"]},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"previousObservationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","reportId","observedAt","state","comparison","severity","evidence","previousObservationId"],"additionalProperties":false}}},"required":["id","accountId","fingerprint","rule","reportId","pageUrl","severity","message","action","evidence","status","comparison","decisionNote","linkedWorkId","linkedActionId","revision","firstObservedAt","lastObservedAt","observations"],"additionalProperties":false}}},"required":["id","accountId","siteUrl","sourceOperationId","startedAt","completedAt","completeness","bounded","scope","provenance","findingIds","recheckOfAuditId","revision","findings"],"additionalProperties":false},"OperationMarketingSeoAuditsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AUDIT_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAuditsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoAuditsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoAuditsListInput":{"type":"object","properties":{"siteDomain":{"type":"string","minLength":1,"maxLength":8000},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string"}},"additionalProperties":false},"OperationMarketingSeoAuditsListOutput":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteUrl":{"type":"string","minLength":1,"maxLength":8000},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"bounded":{"type":"boolean","enum":[true]},"scope":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1,"maxLength":8000},"scopeKey":{"type":"string","minLength":1,"maxLength":8000},"requestedUrls":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":8000}},"maximumPages":{"type":"integer","minimum":1,"maximum":100},"pagesDiscovered":{"type":"integer","minimum":0,"maximum":10000},"pagesPlanned":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":10000},"pagesAudited":{"type":"integer","minimum":0,"maximum":100},"skippedPages":{"type":"integer","minimum":0,"maximum":10000},"truncated":{"default":false,"type":"boolean"},"truncationReason":{"default":null,"nullable":true,"type":"string","enum":["deadline","rate_limited","bot_challenge","page_limit","sitemap_limit","link_check_limit"]},"bounded":{"type":"boolean","enum":[true]}},"required":["siteUrl","scopeKey","requestedUrls","maximumPages","pagesDiscovered","pagesPlanned","pagesAudited","skippedPages","truncated","truncationReason","bounded"],"additionalProperties":false},"provenance":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false}},"findingIds":{"maxItems":2000,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"recheckOfAuditId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["id","accountId","siteUrl","sourceOperationId","startedAt","completedAt","completeness","bounded","scope","provenance","findingIds","recheckOfAuditId","revision"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoAuditsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAuditsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoAuditsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoAuditsRunInput":{"type":"object","properties":{"auditId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["auditId","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoAuditsRunOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteUrl":{"type":"string","minLength":1,"maxLength":8000},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"bounded":{"type":"boolean","enum":[true]},"scope":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1,"maxLength":8000},"scopeKey":{"type":"string","minLength":1,"maxLength":8000},"requestedUrls":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":8000}},"maximumPages":{"type":"integer","minimum":1,"maximum":100},"pagesDiscovered":{"type":"integer","minimum":0,"maximum":10000},"pagesPlanned":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":10000},"pagesAudited":{"type":"integer","minimum":0,"maximum":100},"skippedPages":{"type":"integer","minimum":0,"maximum":10000},"truncated":{"default":false,"type":"boolean"},"truncationReason":{"default":null,"nullable":true,"type":"string","enum":["deadline","rate_limited","bot_challenge","page_limit","sitemap_limit","link_check_limit"]},"bounded":{"type":"boolean","enum":[true]}},"required":["siteUrl","scopeKey","requestedUrls","maximumPages","pagesDiscovered","pagesPlanned","pagesAudited","skippedPages","truncated","truncationReason","bounded"],"additionalProperties":false},"provenance":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false}},"findingIds":{"maxItems":2000,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"recheckOfAuditId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"findings":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"fingerprint":{"type":"string","minLength":1,"maxLength":8000},"rule":{"type":"string","minLength":1,"maxLength":8000},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"pageUrl":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"severity":{"type":"string","enum":["error","warning","info"]},"message":{"type":"string","minLength":1,"maxLength":8000},"action":{"type":"string","minLength":1,"maxLength":8000},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"status":{"type":"string","enum":["open","dismissed","deferred","resolved","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"decisionNote":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedWorkId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"linkedActionId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"firstObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastObservedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"observations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"reportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"observedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"state":{"type":"string","enum":["present","absent","unknown"]},"comparison":{"type":"string","enum":["new","persistent","resolved","unknown"]},"severity":{"type":"string","enum":["error","warning","info"]},"evidence":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":8000},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":8000},"sourceResourceId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"provider":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":8000},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":8000}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"previousObservationId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","reportId","observedAt","state","comparison","severity","evidence","previousObservationId"],"additionalProperties":false}}},"required":["id","accountId","fingerprint","rule","reportId","pageUrl","severity","message","action","evidence","status","comparison","decisionNote","linkedWorkId","linkedActionId","revision","firstObservedAt","lastObservedAt","observations"],"additionalProperties":false}},"replay":{"type":"boolean"}},"required":["id","accountId","siteUrl","sourceOperationId","startedAt","completedAt","completeness","bounded","scope","provenance","findingIds","recheckOfAuditId","revision","findings","replay"],"additionalProperties":false},"OperationMarketingSeoAuditsRunError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AUDIT_IDEMPOTENCY_CONFLICT","SEO_AUDIT_NOT_FOUND","SEO_AUDIT_RESULT_INVALID","SEO_AUDIT_RUN_FAILED","SEO_AUDIT_SCOPE_MISMATCH","SEO_AUDIT_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoAuditsRunErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunErrorDefinitionSchema0"}}]},"OperationMarketingSeoAuditsRunErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunErrorDefinitionSchema1"}}]},"OperationMarketingSeoBacklinksOverviewGetInput":{"type":"object","properties":{"forceRefresh":{"default":false,"type":"boolean"},"target":{"type":"string","minLength":1},"scope":{"default":"domain","type":"string","enum":["domain","subdomains","exact_url"]}},"required":["target"]},"OperationMarketingSeoBacklinksOverviewGetOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetOutputDefinitionSchema0"}},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sourceTotalCount":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fromCache":{"type":"boolean"},"providerPath":{"nullable":true,"type":"string"},"researchLog":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetOutputDefinitionSchema0"}},"failures":{"type":"array","items":{"type":"object","properties":{"seed":{"type":"string"},"message":{"type":"string"},"code":{"nullable":true,"type":"string"}},"required":["seed","message","code"],"additionalProperties":false}}},"required":["id","items","totalCount","sourceTotalCount","costCents","costMicroCents","currency","fetchedAt","dataAsOfAt","fromCache","providerPath","researchLog","failures"],"additionalProperties":{}},"OperationMarketingSeoBacklinksOverviewGetOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoBacklinksOverviewGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoBacklinksOverviewGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoBacklinksOverviewGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoBacklinksReferringDomainsListInput":{"type":"object","properties":{"forceRefresh":{"default":false,"type":"boolean"},"target":{"type":"string","minLength":1},"scope":{"default":"domain","type":"string","enum":["domain","subdomains","exact_url"]},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1},"maxResults":{"default":100,"description":"Maximum provider rows selected into this saved research snapshot; cursor pages that selection without another paid request.","type":"integer","minimum":1,"maximum":1000},"hideSpam":{"default":true,"type":"boolean"},"spamScoreThreshold":{"default":30,"type":"integer","minimum":0,"maximum":100}},"required":["target"]},"OperationMarketingSeoBacklinksReferringDomainsListOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListOutputDefinitionSchema0"}},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sourceTotalCount":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fromCache":{"type":"boolean"},"providerPath":{"nullable":true,"type":"string"},"researchLog":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListOutputDefinitionSchema0"}},"failures":{"type":"array","items":{"type":"object","properties":{"seed":{"type":"string"},"message":{"type":"string"},"code":{"nullable":true,"type":"string"}},"required":["seed","message","code"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["id","items","totalCount","sourceTotalCount","costCents","costMicroCents","currency","fetchedAt","dataAsOfAt","fromCache","providerPath","researchLog","failures","nextCursor"],"additionalProperties":{}},"OperationMarketingSeoBacklinksReferringDomainsListOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListOutputDefinitionSchema0"}}]},"OperationMarketingSeoBacklinksReferringDomainsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED","SEO_RESEARCH_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoBacklinksReferringDomainsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoBacklinksReferringDomainsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoConnectionStatusGetInput":{"type":"object","properties":{}},"OperationMarketingSeoConnectionStatusGetOutput":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["not_configured","needs_market","ready"]},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2}},"required":["locationCode","languageCode"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"}},"required":["canManage"],"additionalProperties":false}},"required":["id","status","market","capabilities"],"additionalProperties":false},"OperationMarketingSeoConnectionStatusGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AUTH_ERROR","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoConnectionStatusGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoConnectionStatusGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoContentCreateInput":{"oneOf":[{"type":"object","properties":{"executorId":{"type":"string","enum":["content.generate_llms_txt"],"x-moreflow-opaque":{"reason":"Registered SEO executor identifier; a capability handle rather than a resource state."}},"path":{"type":"string","minLength":1,"maxLength":500},"sourcePaths":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"includeUrls":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","maxLength":2048,"format":"uri"}}},"required":["executorId","path"],"additionalProperties":false},{"type":"object","properties":{"executorId":{"type":"string","enum":["content.generate_markdown_mirror"],"x-moreflow-opaque":{"reason":"Registered SEO executor identifier; a capability handle rather than a resource state."}},"sourcePaths":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"destinationRoot":{"type":"string","minLength":1,"maxLength":500},"includeFrontmatter":{"default":true,"type":"boolean"}},"required":["executorId","sourcePaths","destinationRoot"],"additionalProperties":false}]},"OperationMarketingSeoContentCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"executorId":{"type":"string","x-moreflow-opaque":{"reason":"Registered executor capability identifier."}},"filePath":{"type":"string","minLength":1,"maxLength":500},"fileContent":{"type":"string","maxLength":65536},"contentHash":{"type":"string","minLength":64,"maxLength":64},"artifact":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"namespace":{"type":"string","enum":["artifacts"]},"label":{"type":"string","minLength":1,"maxLength":255}},"required":["id","namespace","label"],"additionalProperties":false}},"required":["id","executorId","filePath","fileContent","contentHash","artifact"],"additionalProperties":false},"OperationMarketingSeoContentCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AUTH_ERROR","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoContentCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoContentCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoContentGetInput":{"type":"object","properties":{"artifactId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.content.get"}}},"required":["artifactId"],"additionalProperties":false},"OperationMarketingSeoContentGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"artifact":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"namespace":{"type":"string","enum":["artifacts"]},"label":{"type":"string","minLength":1,"maxLength":255}},"required":["id","namespace","label"],"additionalProperties":false},"executorId":{"type":"string","x-moreflow-opaque":{"reason":"Registered executor capability identifier."}},"filePath":{"type":"string","minLength":1,"maxLength":500},"fileContent":{"type":"string","maxLength":65536},"contentHash":{"type":"string","minLength":64,"maxLength":64}},"required":["id","artifact","executorId","filePath","fileContent","contentHash"],"additionalProperties":false},"OperationMarketingSeoContentGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_CONTENT_ARTIFACT_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoContentGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoContentGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoContextGetInput":{"type":"object","properties":{}},"OperationMarketingSeoContextGetOutput":{"type":"object","properties":{"id":{"type":"string"},"providerConfigured":{"type":"boolean"},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string"}},"required":["locationCode","languageCode"],"additionalProperties":false},"trackedKeywordCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"trackedPromptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"work":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"createdByUserId":{"type":"string"},"title":{"type":"string","minLength":1,"maxLength":200},"goal":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"targetDomain":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":16}},"required":["locationCode","languageCode"],"additionalProperties":false},"keywordIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"promptIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["targetDomain","market","keywordIds","promptIds"],"additionalProperties":false},"constraints":{"type":"object","properties":{"maxMonthlyCostCents":{"type":"integer","minimum":0,"maximum":1000000},"allowedOperationIds":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"currency":{"type":"string","enum":["EUR"]}},"required":["maxMonthlyCostCents","allowedOperationIds","currency"],"additionalProperties":false},"control":{"type":"string","enum":["delegated","manual"]},"status":{"type":"string","enum":["active","paused","blocked","completed","redirected"]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextAction":{"type":"object","properties":{"kind":{"type":"string","enum":["research","measure","review","unsupported"]},"label":{"type":"string","minLength":1,"maxLength":500},"operationIds":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["kind","label","operationIds"],"additionalProperties":false},"scheduledGoalId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","createdByUserId","title","goal","scope","constraints","control","status","revision","nextAction","scheduledGoalId","createdAt","updatedAt","lastProgressAt"],"additionalProperties":false}},"supportedActions":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"}},"required":["kind"],"additionalProperties":false}},"unsupportedActions":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"}},"required":["kind"],"additionalProperties":false}}},"required":["id","providerConfigured","market","trackedKeywordCount","trackedPromptCount","work","supportedActions","unsupportedActions"],"additionalProperties":false},"OperationMarketingSeoContextGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoContextGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoContextGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoCostHintsGetInput":{"type":"object","properties":{}},"OperationMarketingSeoCostHintsGetOutput":{"type":"object","properties":{"id":{"type":"string"},"currency":{"type":"string","enum":["USD"]},"paidReads":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991},"description":"Reviewed list-price ceiling in cents per paid read, keyed by operation id."},"rankCheck":{"nullable":true,"description":"Fresh list-price estimate for one manual rank check; null without rank storage.","type":"object","properties":{"perCheckCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"perKeywordCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Rounded list price in cents for one keyword/device pair at the saved depth; costMicroCents preserves sub-cent precision."},"perKeywordMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"keywords":{"type":"integer","minimum":0,"maximum":9007199254740991},"depth":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["perCheckCents","perKeywordCents","perKeywordMicroCents","currency","keywords","depth"],"additionalProperties":false},"aiRun":{"nullable":true,"description":"Fresh estimate for one AI prompt run; null without prompts.","type":"object","properties":{"perRunCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"prompts":{"type":"integer","minimum":0,"maximum":9007199254740991},"checks":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["perRunCents","prompts","checks"],"additionalProperties":false},"monthToDate":{"type":"object","properties":{"monthDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"rankCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"aiCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"researchCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalCents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["monthDate","rankCents","aiCents","researchCents","totalCents"],"additionalProperties":false}},"required":["id","currency","paidReads","rankCheck","aiRun","monthToDate"],"additionalProperties":false},"OperationMarketingSeoCostHintsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoCostHintsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoCostHintsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoCrmOutcomesImportInput":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl","fromDate","toDate"]},"OperationMarketingSeoCrmOutcomesImportOutput":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","not_measured"]},"replayed":{"type":"boolean"},"records":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"outcomeId":{"type":"string","minLength":1},"dedupeKey":{"type":"string","minLength":1},"kind":{"type":"string","enum":["lead","booking","revenue"]},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"siteUrl":{"nullable":true,"type":"string"},"landingPageUrl":{"nullable":true,"type":"string"},"clientId":{"nullable":true,"type":"string"},"sourceEventId":{"nullable":true,"type":"string"},"emailHash":{"nullable":true,"type":"string"},"valueCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"nullable":true,"type":"string","pattern":"^[A-Z]{3}$"},"provenance":{"type":"object","properties":{"provider":{"type":"string","minLength":1},"sourceOperationId":{"type":"string","minLength":1},"sourceResultId":{"type":"string","minLength":1},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"propertyUrl":{"type":"string","minLength":1},"disclosure":{"default":null,"nullable":true,"type":"string"}},"required":["provider","sourceOperationId","sourceResultId","collectedAt","propertyUrl","disclosure"],"additionalProperties":false},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","outcomeId","dedupeKey","kind","occurredAt","siteUrl","landingPageUrl","clientId","sourceEventId","emailHash","valueCents","currency","provenance","recordedAt"],"additionalProperties":false}}},"required":["status","replayed","records"],"additionalProperties":false},"OperationMarketingSeoCrmOutcomesImportError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","IDEMPOTENCY_KEY_REQUIRED","SEO_CRM_INSTRUMENTATION_UNAVAILABLE","SEO_CRM_OUTCOMES_INGESTION_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoCrmOutcomesImportErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportErrorDefinitionSchema0"}}]},"OperationMarketingSeoCrmOutcomesImportErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportErrorDefinitionSchema1"}}]},"OperationMarketingSeoDomainOverviewGetInput":{"type":"object","properties":{"forceRefresh":{"default":false,"type":"boolean"},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2},"target":{"type":"string","minLength":1},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1},"maxResults":{"default":100,"description":"Maximum provider rows selected into this saved research snapshot; cursor pages that selection without another paid request.","type":"integer","minimum":1,"maximum":1000},"minSearchVolume":{"type":"number"},"maxRank":{"type":"number"},"excludeBrandTerms":{"default":false,"type":"boolean"}},"required":["target"]},"OperationMarketingSeoDomainOverviewGetOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetOutputDefinitionSchema0"}},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sourceTotalCount":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fromCache":{"type":"boolean"},"providerPath":{"nullable":true,"type":"string"},"researchLog":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetOutputDefinitionSchema0"}},"failures":{"type":"array","items":{"type":"object","properties":{"seed":{"type":"string"},"message":{"type":"string"},"code":{"nullable":true,"type":"string"}},"required":["seed","message","code"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["id","items","totalCount","sourceTotalCount","costCents","costMicroCents","currency","fetchedAt","dataAsOfAt","fromCache","providerPath","researchLog","failures","nextCursor"],"additionalProperties":{}},"OperationMarketingSeoDomainOverviewGetOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoDomainOverviewGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED","SEO_RESEARCH_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoDomainOverviewGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoDomainOverviewGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoDomainRankedKeywordsListInput":{"type":"object","properties":{"forceRefresh":{"default":false,"type":"boolean"},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2},"target":{"type":"string","minLength":1},"scope":{"default":"domain","type":"string","enum":["subdomains","domain"]},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1},"maxResults":{"default":100,"description":"Maximum provider rows selected into this saved research snapshot; cursor pages that selection without another paid request.","type":"integer","minimum":1,"maximum":1000},"minSearchVolume":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxRank":{"type":"integer","minimum":1,"maximum":1000},"excludeBrandTerms":{"default":false,"type":"boolean"}},"required":["target"]},"OperationMarketingSeoDomainRankedKeywordsListOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListOutputDefinitionSchema0"}},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sourceTotalCount":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fromCache":{"type":"boolean"},"providerPath":{"nullable":true,"type":"string"},"researchLog":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListOutputDefinitionSchema0"}},"failures":{"type":"array","items":{"type":"object","properties":{"seed":{"type":"string"},"message":{"type":"string"},"code":{"nullable":true,"type":"string"}},"required":["seed","message","code"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["id","items","totalCount","sourceTotalCount","costCents","costMicroCents","currency","fetchedAt","dataAsOfAt","fromCache","providerPath","researchLog","failures","nextCursor"],"additionalProperties":{}},"OperationMarketingSeoDomainRankedKeywordsListOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListOutputDefinitionSchema0"}}]},"OperationMarketingSeoDomainRankedKeywordsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED","SEO_RESEARCH_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoDomainRankedKeywordsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoDomainRankedKeywordsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoIndexCoverageGetInput":{"type":"object","properties":{"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]}},"required":["siteUrl"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageGetOutput":{"type":"object","properties":{"id":{"type":"string"},"dailyInspectionBudget":{"type":"number"},"usedToday":{"type":"number"},"indexNowKeyState":{"type":"string"},"indexNowKey":{"nullable":true,"type":"string"}},"required":["id","dailyInspectionBudget","usedToday","indexNowKeyState","indexNowKey"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoIndexCoverageGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoIndexCoverageScheduleRechecksInput":{"type":"object","properties":{"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]},"urls":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"string","maxLength":2048,"format":"uri"}},"actionId":{"type":"string"},"recheckAfterAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl","urls"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageScheduleRechecksOutput":{"type":"object","properties":{"id":{"type":"string"},"scheduled":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"siteUrl":{"type":"string"},"url":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"firstSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastInspectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verdict":{"type":"string","enum":["indexed","not_indexed","unknown"]},"coverageState":{"nullable":true,"type":"string"},"indexingState":{"nullable":true,"type":"string"},"robotsTxtState":{"nullable":true,"type":"string"},"pageFetchState":{"nullable":true,"type":"string"},"googleCanonical":{"nullable":true,"type":"string"},"userCanonical":{"nullable":true,"type":"string"},"sitemapsReported":{"type":"array","items":{"type":"string"}},"referringUrlCount":{"type":"number"},"crawlHttpStatus":{"nullable":true,"type":"number"},"crawlNoindex":{"nullable":true,"type":"boolean"},"crawlCanonical":{"nullable":true,"type":"string"},"internalLinkCount":{"type":"number"},"impressions90d":{"type":"number"},"clicks90d":{"type":"number"},"lifecycle":{"type":"string","enum":["new","inspected_indexed","inspected_not_indexed","fix_in_progress","submitted","awaiting_recheck","indexed","stalled","excluded"]},"recheckAfterAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"recheckCount":{"type":"number"},"submissions":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksOutputDefinitionSchema0"}},"diagnosis":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksOutputDefinitionSchema1"}},"priority":{"type":"number"},"excluded":{"type":"boolean"},"linkedActionId":{"nullable":true,"type":"string"},"revision":{"type":"number"}},"required":["id","accountId","siteUrl","url","sources","firstSeenAt","lastSeenAt","lastInspectedAt","verdict","coverageState","indexingState","robotsTxtState","pageFetchState","googleCanonical","userCanonical","sitemapsReported","referringUrlCount","crawlHttpStatus","crawlNoindex","crawlCanonical","internalLinkCount","impressions90d","clicks90d","lifecycle","recheckAfterAt","recheckCount","submissions","diagnosis","priority","excluded","linkedActionId","revision"],"additionalProperties":false}}},"required":["id","scheduled"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageScheduleRechecksOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksOutputDefinitionSchema0"}}]},"OperationMarketingSeoIndexCoverageScheduleRechecksOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksOutputDefinitionSchema1"}}]},"OperationMarketingSeoIndexCoverageScheduleRechecksError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageScheduleRechecksErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksErrorDefinitionSchema0"}}]},"OperationMarketingSeoIndexCoverageScheduleRechecksErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksErrorDefinitionSchema1"}}]},"OperationMarketingSeoIndexCoverageSubmitInput":{"type":"object","properties":{"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]},"urls":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","maxLength":2048,"format":"uri"}},"channels":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["indexnow","sitemap","google"]}},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl","urls","channels","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageSubmitOutput":{"type":"object","properties":{"id":{"type":"string"},"submitted":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"channel":{"type":"string"},"status":{"type":"string"}},"required":["url","channel","status"],"additionalProperties":false}},"skipped":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"channel":{"type":"string"},"reason":{"type":"string"}},"required":["url","channel","reason"],"additionalProperties":false}}},"required":["id","submitted","skipped"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageSubmitError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_INDEXING_API_NOT_ENABLED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageSubmitErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitErrorDefinitionSchema0"}}]},"OperationMarketingSeoIndexCoverageSubmitErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitErrorDefinitionSchema1"}}]},"OperationMarketingSeoIndexCoverageUpdateInput":{"type":"object","properties":{"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]},"dailyInspectionBudget":{"type":"integer","minimum":1,"maximum":1800},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl","dailyInspectionBudget"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageUpdateOutput":{"type":"object","properties":{"id":{"type":"string"},"dailyInspectionBudget":{"type":"number"},"revision":{"type":"number"}},"required":["id","dailyInspectionBudget","revision"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_SETTINGS_REVISION_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoIndexCoverageUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoIndexCoverageUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoIndexNowCreateInput":{"type":"object","properties":{"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl"],"additionalProperties":false},"OperationMarketingSeoIndexNowCreateOutput":{"type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"filePath":{"type":"string"},"fileContent":{"type":"string"},"state":{"type":"string"}},"required":["id","key","filePath","fileContent","state"],"additionalProperties":false},"OperationMarketingSeoIndexNowCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoIndexNowCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoIndexNowCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoIndexNowVerifyInput":{"type":"object","properties":{"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl"],"additionalProperties":false},"OperationMarketingSeoIndexNowVerifyOutput":{"type":"object","properties":{"id":{"type":"string"},"verified":{"type":"boolean"},"state":{"type":"string"}},"required":["id","verified","state"],"additionalProperties":false},"OperationMarketingSeoIndexNowVerifyError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_INDEXNOW_KEY_NOT_PREPARED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoIndexNowVerifyErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyErrorDefinitionSchema0"}}]},"OperationMarketingSeoIndexNowVerifyErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyErrorDefinitionSchema1"}}]},"OperationMarketingSeoInsightsGenerateInput":{"type":"object","properties":{"language":{"description":"Defaults to the account market language.","type":"string","enum":["de","en"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}}},"OperationMarketingSeoInsightsGenerateOutput":{"type":"object","properties":{"narrative":{"type":"string","minLength":1,"maxLength":1500},"suggestedKeywords":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string","minLength":1,"maxLength":120},"reason":{"type":"string","maxLength":300}},"required":["keyword","reason"],"additionalProperties":false}},"suggestedPrompts":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":300},"reason":{"type":"string","maxLength":300}},"required":["prompt","reason"],"additionalProperties":false}},"nextSteps":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":240}},"id":{"type":"string"},"language":{"type":"string","enum":["de","en"]},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"basedOn":{"type":"object","properties":{"trackedKeywords":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"checkedKeywords":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"trackedPrompts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["trackedKeywords","checkedKeywords","trackedPrompts"],"additionalProperties":false}},"required":["narrative","suggestedKeywords","suggestedPrompts","nextSteps","id","language","generatedAt","basedOn"],"additionalProperties":false},"OperationMarketingSeoInsightsGenerateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_AI_INSIGHTS_UNAVAILABLE","SEO_AI_INSIGHTS_FAILED","AI_QUOTA_EXCEEDED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoInsightsGenerateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateErrorDefinitionSchema0"}}]},"OperationMarketingSeoInsightsGenerateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateErrorDefinitionSchema1"}}]},"OperationMarketingSeoInspectionsRunInput":{"type":"object","properties":{"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]},"urls":{"maxItems":200,"type":"array","items":{"type":"string","maxLength":2048,"format":"uri"}},"limit":{"default":50,"type":"integer","minimum":1,"maximum":200},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl"],"additionalProperties":false},"OperationMarketingSeoInspectionsRunOutput":{"type":"object","properties":{"id":{"type":"string"},"inspected":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"siteUrl":{"type":"string"},"url":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"firstSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastInspectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verdict":{"type":"string","enum":["indexed","not_indexed","unknown"]},"coverageState":{"nullable":true,"type":"string"},"indexingState":{"nullable":true,"type":"string"},"robotsTxtState":{"nullable":true,"type":"string"},"pageFetchState":{"nullable":true,"type":"string"},"googleCanonical":{"nullable":true,"type":"string"},"userCanonical":{"nullable":true,"type":"string"},"sitemapsReported":{"type":"array","items":{"type":"string"}},"referringUrlCount":{"type":"number"},"crawlHttpStatus":{"nullable":true,"type":"number"},"crawlNoindex":{"nullable":true,"type":"boolean"},"crawlCanonical":{"nullable":true,"type":"string"},"internalLinkCount":{"type":"number"},"impressions90d":{"type":"number"},"clicks90d":{"type":"number"},"lifecycle":{"type":"string","enum":["new","inspected_indexed","inspected_not_indexed","fix_in_progress","submitted","awaiting_recheck","indexed","stalled","excluded"]},"recheckAfterAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"recheckCount":{"type":"number"},"submissions":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunOutputDefinitionSchema0"}},"diagnosis":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunOutputDefinitionSchema1"}},"priority":{"type":"number"},"excluded":{"type":"boolean"},"linkedActionId":{"nullable":true,"type":"string"},"revision":{"type":"number"}},"required":["id","accountId","siteUrl","url","sources","firstSeenAt","lastSeenAt","lastInspectedAt","verdict","coverageState","indexingState","robotsTxtState","pageFetchState","googleCanonical","userCanonical","sitemapsReported","referringUrlCount","crawlHttpStatus","crawlNoindex","crawlCanonical","internalLinkCount","impressions90d","clicks90d","lifecycle","recheckAfterAt","recheckCount","submissions","diagnosis","priority","excluded","linkedActionId","revision"],"additionalProperties":false}},"reserved":{"type":"number"},"remaining":{"type":"number"}},"required":["id","inspected","reserved","remaining"],"additionalProperties":false},"OperationMarketingSeoInspectionsRunOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunOutputDefinitionSchema0"}}]},"OperationMarketingSeoInspectionsRunOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunOutputDefinitionSchema1"}}]},"OperationMarketingSeoInspectionsRunError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEARCH_CONSOLE_CONNECTION_REQUIRED","SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","SEARCH_CONSOLE_PROVIDER_ERROR","SEARCH_CONSOLE_QUOTA_EXCEEDED","SEARCH_CONSOLE_SITE_NOT_VERIFIED","SEO_INDEX_INSPECTION_BUDGET_EXHAUSTED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoInspectionsRunErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunErrorDefinitionSchema0"}}]},"OperationMarketingSeoInspectionsRunErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunErrorDefinitionSchema1"}}]},"OperationMarketingSeoInventoryReconcileInput":{"type":"object","properties":{"siteId":{"type":"string","minLength":1,"maxLength":255},"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"additionalProperties":false},"OperationMarketingSeoInventoryReconcileOutput":{"type":"object","properties":{"id":{"type":"string"},"siteUrl":{"type":"string"},"discovered":{"type":"number"},"analytics":{"type":"number"},"merged":{"type":"number"},"sitemaps":{"type":"number"}},"required":["id","siteUrl","discovered","analytics","merged","sitemaps"],"additionalProperties":false},"OperationMarketingSeoInventoryReconcileError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEARCH_CONSOLE_CONNECTION_REQUIRED","SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","SEARCH_CONSOLE_PROVIDER_ERROR","SEARCH_CONSOLE_QUOTA_EXCEEDED","SEARCH_CONSOLE_SITE_NOT_VERIFIED","SEO_SITE_URL_REQUIRED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoInventoryReconcileErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileErrorDefinitionSchema0"}}]},"OperationMarketingSeoInventoryReconcileErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileErrorDefinitionSchema1"}}]},"OperationMarketingSeoKeywordsMetricsGetInput":{"type":"object","properties":{"forceRefresh":{"default":false,"type":"boolean"},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2},"keywords":{"minItems":1,"maxItems":700,"type":"array","items":{"type":"string","minLength":1}}},"required":["keywords"]},"OperationMarketingSeoKeywordsMetricsGetOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetOutputDefinitionSchema0"}},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sourceTotalCount":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fromCache":{"type":"boolean"},"providerPath":{"nullable":true,"type":"string"},"researchLog":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetOutputDefinitionSchema0"}},"failures":{"type":"array","items":{"type":"object","properties":{"seed":{"type":"string"},"message":{"type":"string"},"code":{"nullable":true,"type":"string"}},"required":["seed","message","code"],"additionalProperties":false}}},"required":["id","items","totalCount","sourceTotalCount","costCents","costMicroCents","currency","fetchedAt","dataAsOfAt","fromCache","providerPath","researchLog","failures"],"additionalProperties":{}},"OperationMarketingSeoKeywordsMetricsGetOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoKeywordsMetricsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoKeywordsMetricsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoKeywordsMetricsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoKeywordsSearchInput":{"type":"object","properties":{"forceRefresh":{"default":false,"type":"boolean"},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2},"seeds":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","minLength":1}},"mode":{"default":"auto","type":"string","enum":["ideas","suggestions","related","auto"]},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1},"maxResults":{"default":150,"description":"Maximum provider research rows per seed in the saved snapshot; limit controls only response paging.","type":"integer","minimum":1,"maximum":1000},"includeClickstream":{"default":false,"type":"boolean"}},"required":["seeds"]},"OperationMarketingSeoKeywordsSearchOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchOutputDefinitionSchema0"}},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sourceTotalCount":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fromCache":{"type":"boolean"},"providerPath":{"nullable":true,"type":"string"},"researchLog":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchOutputDefinitionSchema0"}},"failures":{"type":"array","items":{"type":"object","properties":{"seed":{"type":"string"},"message":{"type":"string"},"code":{"nullable":true,"type":"string"}},"required":["seed","message","code"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["id","items","totalCount","sourceTotalCount","costCents","costMicroCents","currency","fetchedAt","dataAsOfAt","fromCache","providerPath","researchLog","failures","nextCursor"],"additionalProperties":{}},"OperationMarketingSeoKeywordsSearchOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchOutputDefinitionSchema0"}}]},"OperationMarketingSeoKeywordsSearchError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED","SEO_RESEARCH_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoKeywordsSearchErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchErrorDefinitionSchema0"}}]},"OperationMarketingSeoKeywordsSearchErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchErrorDefinitionSchema1"}}]},"OperationMarketingSeoLivePagesVerifyInput":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"expectedStatus":{"type":"integer","minimum":100,"maximum":599},"expectedContentHash":{"type":"string","minLength":64,"maxLength":64}},"required":["url"],"additionalProperties":false},"OperationMarketingSeoLivePagesVerifyOutput":{"type":"object","properties":{"id":{"type":"string"},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"url":{"type":"string","maxLength":2048,"format":"uri"},"finalUrl":{"type":"string","maxLength":2048,"format":"uri"},"status":{"type":"integer","minimum":100,"maximum":599},"contentHash":{"type":"string","minLength":64,"maxLength":64},"contentLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"matched":{"type":"boolean"},"checks":{"type":"object","properties":{"status":{"type":"boolean"},"contentHash":{"nullable":true,"type":"boolean"}},"required":["status","contentHash"],"additionalProperties":false}},"required":["id","checkedAt","url","finalUrl","status","contentHash","contentLength","matched","checks"],"additionalProperties":false},"OperationMarketingSeoLivePagesVerifyError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_LIVE_FETCH_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLivePagesVerifyErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyErrorDefinitionSchema0"}}]},"OperationMarketingSeoLivePagesVerifyErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyErrorDefinitionSchema1"}}]},"OperationMarketingSeoLocalGridEstimatesGetInput":{"type":"object","properties":{"keywordId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"size":{"default":7,"anyOf":[{"type":"number","enum":[5]},{"type":"number","enum":[7]}]},"spacingMeters":{"default":1000,"type":"integer","minimum":100,"maximum":5000}},"required":["keywordId"]},"OperationMarketingSeoLocalGridEstimatesGetOutput":{"type":"object","properties":{"id":{"type":"string"},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spacingMeters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"points":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"method":{"type":"string","enum":["queued"]},"estimatedCostCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"estimatedCostMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"estimatedChargeCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"chargeCurrency":{"type":"string","enum":["EUR"]},"estimatedChargeMicroEuros":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"ceilingCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reusableRunId":{"nullable":true,"x-moreflow-reference":{"resolver":"marketing.seo.localGridRuns.get"},"type":"string"},"reuseWindowHours":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"estimateToken":{"type":"string"},"estimateExpiresAt":{"type":"string"}},"required":["id","size","spacingMeters","points","method","estimatedCostCents","estimatedCostMicroCents","currency","estimatedChargeCents","chargeCurrency","estimatedChargeMicroEuros","ceilingCents","reusableRunId","reuseWindowHours","estimateToken","estimateExpiresAt"],"additionalProperties":false},"OperationMarketingSeoLocalGridEstimatesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","LOCAL_GRID_ESTIMATE_UNAVAILABLE","SEO_LOCAL_KEYWORD_NOT_FOUND","SEO_LOCAL_LOCATION_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLocalGridEstimatesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoLocalGridEstimatesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoLocalGridRunsCreateInput":{"type":"object","properties":{"keywordId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"size":{"default":7,"anyOf":[{"type":"number","enum":[5]},{"type":"number","enum":[7]}]},"spacingMeters":{"default":1000,"type":"integer","minimum":100,"maximum":5000},"confirmedCostCents":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991,"description":"Exactly the ceilingCents from marketing.seo.localGridEstimates.get that the person confirmed. Any other value is refused."},"estimateToken":{"description":"Required: the estimateToken from marketing.seo.localGridEstimates.get for this same keyword, size and spacingMeters. Refused when missing or after estimateExpiresAt.","type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["keywordId","confirmedCostCents"]},"OperationMarketingSeoLocalGridRunsCreateOutput":{"type":"object","properties":{"id":{"type":"string"},"locationId":{"type":"string","x-moreflow-reference":{"resolver":"marketing.seo.localLocations.list"}},"keywordId":{"type":"string"},"keyword":{"type":"string"},"languageCode":{"type":"string"},"mode":{"type":"string","enum":["weekly","on_demand"]},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spacingMeters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"centerLat":{"type":"number"},"centerLng":{"type":"number"},"method":{"type":"string","enum":["queued"]},"status":{"type":"string","enum":["queued","completed","partial","failed"]},"estimatedCostCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"estimatedCostMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"error":{"nullable":true,"type":"string"},"chargeCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"chargeCurrency":{"type":"string","enum":["EUR"]},"chargeMicroEuros":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"finishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"points":{"type":"array","items":{"type":"object","properties":{"rowIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"columnIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lat":{"type":"number"},"lng":{"type":"number"},"status":{"type":"string","enum":["pending","ranked","not_found","failed"]},"rank":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"matchedTitle":{"nullable":true,"type":"string"},"matchedPlaceId":{"nullable":true,"x-moreflow-opaque":{"reason":"Google Place ID of the business listing; an external Maps identifier stored as provided so grid matches can be compared. It is not a Moreflow resource handle."},"type":"string"},"matchedCid":{"nullable":true,"type":"string"},"matchedDomain":{"nullable":true,"type":"string"},"matchedUrl":{"nullable":true,"type":"string"},"matchedConfidence":{"nullable":true,"type":"string","enum":["high","medium","low"]},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["rowIndex","columnIndex","lat","lng","status","rank","matchedTitle","matchedPlaceId","matchedCid","matchedDomain","matchedUrl","matchedConfidence","costCents","costMicroCents","currency","checkedAt"],"additionalProperties":false}},"reused":{"type":"boolean"}},"required":["id","locationId","keywordId","keyword","languageCode","mode","size","spacingMeters","centerLat","centerLng","method","status","estimatedCostCents","estimatedCostMicroCents","costCents","costMicroCents","currency","error","chargeCents","chargeCurrency","chargeMicroEuros","createdAt","finishedAt","points","reused"],"additionalProperties":false},"OperationMarketingSeoLocalGridRunsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_LOCAL_KEYWORD_NOT_FOUND","SEO_LOCAL_LOCATION_NOT_FOUND","LOCAL_GRID_ESTIMATE_TOKEN_EXPIRED","LOCAL_GRID_ESTIMATE_TOKEN_INVALID","SEO_LOCAL_COST_NOT_CONFIRMED","SEO_LOCAL_LOCATION_COORDINATE_INVALID","SEO_LOCAL_PROVIDER_UNAVAILABLE","AI_QUOTA_EXCEEDED","SEO_LOCAL_PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLocalGridRunsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoLocalGridRunsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoLocalGridRunsGetInput":{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["runId"]},"OperationMarketingSeoLocalGridRunsGetOutput":{"type":"object","properties":{"id":{"type":"string"},"locationId":{"type":"string","x-moreflow-reference":{"resolver":"marketing.seo.localLocations.list"}},"keywordId":{"type":"string"},"keyword":{"type":"string"},"languageCode":{"type":"string"},"mode":{"type":"string","enum":["weekly","on_demand"]},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spacingMeters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"centerLat":{"type":"number"},"centerLng":{"type":"number"},"method":{"type":"string","enum":["queued"]},"status":{"type":"string","enum":["queued","completed","partial","failed"]},"estimatedCostCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"estimatedCostMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"error":{"nullable":true,"type":"string"},"chargeCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"chargeCurrency":{"type":"string","enum":["EUR"]},"chargeMicroEuros":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"finishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"points":{"type":"array","items":{"type":"object","properties":{"rowIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"columnIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lat":{"type":"number"},"lng":{"type":"number"},"status":{"type":"string","enum":["pending","ranked","not_found","failed"]},"rank":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"matchedTitle":{"nullable":true,"type":"string"},"matchedPlaceId":{"nullable":true,"x-moreflow-opaque":{"reason":"Google Place ID of the business listing; an external Maps identifier stored as provided so grid matches can be compared. It is not a Moreflow resource handle."},"type":"string"},"matchedCid":{"nullable":true,"type":"string"},"matchedDomain":{"nullable":true,"type":"string"},"matchedUrl":{"nullable":true,"type":"string"},"matchedConfidence":{"nullable":true,"type":"string","enum":["high","medium","low"]},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["rowIndex","columnIndex","lat","lng","status","rank","matchedTitle","matchedPlaceId","matchedCid","matchedDomain","matchedUrl","matchedConfidence","costCents","costMicroCents","currency","checkedAt"],"additionalProperties":false}},"summary":{"type":"object","properties":{"points":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"measured":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"found":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"foundRatio":{"nullable":true,"type":"number"},"averageRank":{"nullable":true,"type":"number"},"averageRankNotFoundAsDepth":{"nullable":true,"type":"number"},"topThreeShare":{"nullable":true,"type":"number"}},"required":["points","measured","found","foundRatio","averageRank","averageRankNotFoundAsDepth","topThreeShare"],"additionalProperties":false}},"required":["id","locationId","keywordId","keyword","languageCode","mode","size","spacingMeters","centerLat","centerLng","method","status","estimatedCostCents","estimatedCostMicroCents","costCents","costMicroCents","currency","error","chargeCents","chargeCurrency","chargeMicroEuros","createdAt","finishedAt","points","summary"],"additionalProperties":false},"OperationMarketingSeoLocalGridRunsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_LOCAL_RUN_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLocalGridRunsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoLocalGridRunsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoLocalGridRunsListInput":{"type":"object","properties":{"locationId":{"x-moreflow-reference":{"resolver":"marketing.seo.localLocations.list"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"keywordId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":1024}}},"OperationMarketingSeoLocalGridRunsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"locationId":{"type":"string","x-moreflow-reference":{"resolver":"marketing.seo.localLocations.list"}},"keywordId":{"type":"string"},"keyword":{"type":"string"},"languageCode":{"type":"string"},"mode":{"type":"string","enum":["weekly","on_demand"]},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spacingMeters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"centerLat":{"type":"number"},"centerLng":{"type":"number"},"method":{"type":"string","enum":["queued"]},"status":{"type":"string","enum":["queued","completed","partial","failed"]},"estimatedCostCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"estimatedCostMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"error":{"nullable":true,"type":"string"},"chargeCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"chargeCurrency":{"type":"string","enum":["EUR"]},"chargeMicroEuros":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"finishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","locationId","keywordId","keyword","languageCode","mode","size","spacingMeters","centerLat","centerLng","method","status","estimatedCostCents","estimatedCostMicroCents","costCents","costMicroCents","currency","error","chargeCents","chargeCurrency","chargeMicroEuros","createdAt","finishedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoLocalGridRunsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLocalGridRunsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoLocalGridRunsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoLocalGridRunsReconcileInput":{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["runId"]},"OperationMarketingSeoLocalGridRunsReconcileOutput":{"type":"object","properties":{"id":{"type":"string"},"locationId":{"type":"string","x-moreflow-reference":{"resolver":"marketing.seo.localLocations.list"}},"keywordId":{"type":"string"},"keyword":{"type":"string"},"languageCode":{"type":"string"},"mode":{"type":"string","enum":["weekly","on_demand"]},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spacingMeters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"centerLat":{"type":"number"},"centerLng":{"type":"number"},"method":{"type":"string","enum":["queued"]},"status":{"type":"string","enum":["queued","completed","partial","failed"]},"estimatedCostCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"estimatedCostMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"error":{"nullable":true,"type":"string"},"chargeCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"chargeCurrency":{"type":"string","enum":["EUR"]},"chargeMicroEuros":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"finishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"points":{"type":"array","items":{"type":"object","properties":{"rowIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"columnIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lat":{"type":"number"},"lng":{"type":"number"},"status":{"type":"string","enum":["pending","ranked","not_found","failed"]},"rank":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"matchedTitle":{"nullable":true,"type":"string"},"matchedPlaceId":{"nullable":true,"x-moreflow-opaque":{"reason":"Google Place ID of the business listing; an external Maps identifier stored as provided so grid matches can be compared. It is not a Moreflow resource handle."},"type":"string"},"matchedCid":{"nullable":true,"type":"string"},"matchedDomain":{"nullable":true,"type":"string"},"matchedUrl":{"nullable":true,"type":"string"},"matchedConfidence":{"nullable":true,"type":"string","enum":["high","medium","low"]},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["rowIndex","columnIndex","lat","lng","status","rank","matchedTitle","matchedPlaceId","matchedCid","matchedDomain","matchedUrl","matchedConfidence","costCents","costMicroCents","currency","checkedAt"],"additionalProperties":false}}},"required":["id","locationId","keywordId","keyword","languageCode","mode","size","spacingMeters","centerLat","centerLng","method","status","estimatedCostCents","estimatedCostMicroCents","costCents","costMicroCents","currency","error","chargeCents","chargeCurrency","chargeMicroEuros","createdAt","finishedAt","points"],"additionalProperties":false},"OperationMarketingSeoLocalGridRunsReconcileError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_LOCAL_RUN_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLocalGridRunsReconcileErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileErrorDefinitionSchema0"}}]},"OperationMarketingSeoLocalGridRunsReconcileErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileErrorDefinitionSchema1"}}]},"OperationMarketingSeoLocalKeywordsCreateInput":{"type":"object","properties":{"locationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.localLocations.list"}},"keyword":{"type":"string","minLength":1,"maxLength":200},"languageCode":{"default":"de","type":"string","minLength":2,"maxLength":10},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["locationId","keyword"]},"OperationMarketingSeoLocalKeywordsCreateOutput":{"type":"object","properties":{"id":{"type":"string"},"locationId":{"type":"string","x-moreflow-reference":{"resolver":"marketing.seo.localLocations.list"}},"keyword":{"type":"string"},"languageCode":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","locationId","keyword","languageCode","createdAt","removedAt"],"additionalProperties":false},"OperationMarketingSeoLocalKeywordsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_LOCAL_LOCATION_NOT_FOUND","SEO_LOCAL_KEYWORD_LIMIT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLocalKeywordsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoLocalKeywordsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoLocalKeywordsDeleteInput":{"type":"object","properties":{"keywordId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["keywordId"]},"OperationMarketingSeoLocalKeywordsDeleteOutput":{"type":"object","properties":{"id":{"type":"string"},"locationId":{"type":"string","x-moreflow-reference":{"resolver":"marketing.seo.localLocations.list"}},"keyword":{"type":"string"},"languageCode":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","locationId","keyword","languageCode","createdAt","removedAt"],"additionalProperties":false},"OperationMarketingSeoLocalKeywordsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_LOCAL_KEYWORD_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLocalKeywordsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteErrorDefinitionSchema0"}}]},"OperationMarketingSeoLocalKeywordsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteErrorDefinitionSchema1"}}]},"OperationMarketingSeoLocalLocationsCreateInput":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"lat":{"type":"number"},"lng":{"type":"number"},"businessName":{"nullable":true,"type":"string","maxLength":200},"placeId":{"x-moreflow-opaque":{"reason":"Google Place ID of the business listing; an external Maps identifier stored as provided so grid matches can be compared. It is not a Moreflow resource handle."},"nullable":true,"type":"string","maxLength":200},"cid":{"nullable":true,"type":"string","maxLength":40},"websiteDomain":{"nullable":true,"type":"string","maxLength":253},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["name","lat","lng"]},"OperationMarketingSeoLocalLocationsCreateOutput":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"businessName":{"nullable":true,"type":"string"},"placeId":{"nullable":true,"x-moreflow-opaque":{"reason":"Google Place ID of the business listing; an external Maps identifier stored as provided so grid matches can be compared. It is not a Moreflow resource handle."},"type":"string"},"cid":{"nullable":true,"type":"string"},"websiteDomain":{"nullable":true,"type":"string"},"lat":{"type":"number"},"lng":{"type":"number"},"nextCheckAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","businessName","placeId","cid","websiteDomain","lat","lng","nextCheckAt","createdAt","removedAt"],"additionalProperties":false},"OperationMarketingSeoLocalLocationsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_LOCAL_LOCATION_NOT_FOUND","SEO_LOCAL_LOCATION_COORDINATE_INVALID","SEO_LOCAL_LOCATION_LIMIT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLocalLocationsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoLocalLocationsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoLocalLocationsDeleteInput":{"type":"object","properties":{"locationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.localLocations.list"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["locationId"]},"OperationMarketingSeoLocalLocationsDeleteOutput":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"businessName":{"nullable":true,"type":"string"},"placeId":{"nullable":true,"x-moreflow-opaque":{"reason":"Google Place ID of the business listing; an external Maps identifier stored as provided so grid matches can be compared. It is not a Moreflow resource handle."},"type":"string"},"cid":{"nullable":true,"type":"string"},"websiteDomain":{"nullable":true,"type":"string"},"lat":{"type":"number"},"lng":{"type":"number"},"nextCheckAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","businessName","placeId","cid","websiteDomain","lat","lng","nextCheckAt","createdAt","removedAt"],"additionalProperties":false},"OperationMarketingSeoLocalLocationsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_LOCAL_LOCATION_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLocalLocationsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteErrorDefinitionSchema0"}}]},"OperationMarketingSeoLocalLocationsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteErrorDefinitionSchema1"}}]},"OperationMarketingSeoLocalLocationsListInput":{"type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":1024}}},"OperationMarketingSeoLocalLocationsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"businessName":{"nullable":true,"type":"string"},"placeId":{"nullable":true,"x-moreflow-opaque":{"reason":"Google Place ID of the business listing; an external Maps identifier stored as provided so grid matches can be compared. It is not a Moreflow resource handle."},"type":"string"},"cid":{"nullable":true,"type":"string"},"websiteDomain":{"nullable":true,"type":"string"},"lat":{"type":"number"},"lng":{"type":"number"},"nextCheckAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","businessName","placeId","cid","websiteDomain","lat","lng","nextCheckAt","createdAt","removedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"keywords":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"locationId":{"type":"string","x-moreflow-reference":{"resolver":"marketing.seo.localLocations.list"}},"keyword":{"type":"string"},"languageCode":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","locationId","keyword","languageCode","createdAt","removedAt"],"additionalProperties":false}}},"required":["items","nextCursor","keywords"],"additionalProperties":false},"OperationMarketingSeoLocalLocationsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLocalLocationsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoLocalLocationsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoLocalLocationsUpdateInput":{"type":"object","properties":{"locationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.localLocations.list"}},"name":{"type":"string","minLength":1,"maxLength":120},"lat":{"type":"number"},"lng":{"type":"number"},"businessName":{"nullable":true,"type":"string","maxLength":200},"placeId":{"x-moreflow-opaque":{"reason":"Google Place ID of the business listing; an external Maps identifier stored as provided so grid matches can be compared. It is not a Moreflow resource handle."},"nullable":true,"type":"string","maxLength":200},"cid":{"nullable":true,"type":"string","maxLength":40},"websiteDomain":{"nullable":true,"type":"string","maxLength":253},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["locationId"]},"OperationMarketingSeoLocalLocationsUpdateOutput":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"businessName":{"nullable":true,"type":"string"},"placeId":{"nullable":true,"x-moreflow-opaque":{"reason":"Google Place ID of the business listing; an external Maps identifier stored as provided so grid matches can be compared. It is not a Moreflow resource handle."},"type":"string"},"cid":{"nullable":true,"type":"string"},"websiteDomain":{"nullable":true,"type":"string"},"lat":{"type":"number"},"lng":{"type":"number"},"nextCheckAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","businessName","placeId","cid","websiteDomain","lat","lng","nextCheckAt","createdAt","removedAt"],"additionalProperties":false},"OperationMarketingSeoLocalLocationsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_LOCAL_LOCATION_NOT_FOUND","SEO_LOCAL_LOCATION_COORDINATE_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoLocalLocationsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoLocalLocationsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoMarketUpdateInput":{"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["locationCode","languageCode"]},"OperationMarketingSeoMarketUpdateOutput":{"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2},"id":{"type":"string"}},"required":["locationCode","languageCode","id"],"additionalProperties":false},"OperationMarketingSeoMarketUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_LANGUAGE_UNSUPPORTED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoMarketUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoMarketUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoOpportunitiesAssignInput":{"type":"object","properties":{"opportunityId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["opportunityId","expectedRevision","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesAssignOutput":{"type":"object","properties":{"opportunity":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteDomain":{"type":"string"},"market":{"default":null,"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":32}},"required":["locationCode","languageCode"],"additionalProperties":false},"kind":{"type":"string","enum":["keyword","content","page","technical","investigate"]},"keyword":{"default":null,"nullable":true,"type":"string"},"targetUrl":{"default":null,"nullable":true,"type":"string"},"title":{"type":"string"},"rationale":{"type":"string"},"uncertainty":{"default":null,"nullable":true,"type":"string"},"priority":{"type":"integer","minimum":0,"maximum":100},"prioritySource":{"type":"string","enum":["derived","user"]},"pageScore":{"default":null,"nullable":true,"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":100},"components":{"type":"object","properties":{"demand":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"businessValue":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"reachability":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false}},"required":["demand","businessValue","reachability"],"additionalProperties":false},"pageCount":{"type":"integer","minimum":1,"maximum":9007199254740991},"disclosure":{"type":"string","minLength":1}},"required":["total","components","pageCount","disclosure"],"additionalProperties":false},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":500},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":255},"sourceResourceId":{"default":null,"nullable":true,"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string"}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":255},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string"}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string"}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"sourceResultIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO research result id"}},"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decisionRecord":{"default":null,"nullable":true,"type":"object","properties":{"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decidedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"decidedByUserId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"note":{"default":null,"nullable":true,"type":"string"}},"required":["decision","decidedAt","decidedByUserId","note"],"additionalProperties":false},"planOrder":{"type":"integer","minimum":0,"maximum":9007199254740991},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"linkedWorkId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO work id"},"linkedActionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO action id"},"linkedTrackedKeywordId":{"default":null,"nullable":true,"type":"string"},"dedupeKey":{"type":"string","minLength":1},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","siteDomain","market","kind","keyword","targetUrl","title","rationale","uncertainty","priority","prioritySource","pageScore","evidence","sourceResultIds","decision","decisionRecord","planOrder","revision","linkedWorkId","linkedActionId","linkedTrackedKeywordId","dedupeKey","createdAt","updatedAt"],"additionalProperties":false},"workId":{"type":"string"},"actionId":{"nullable":true,"type":"string"},"replay":{"type":"boolean"}},"required":["opportunity","workId","actionId","replay"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesAssignError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_OPPORTUNITY_ALREADY_LINKED","SEO_OPPORTUNITY_CONFLICT","SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","SEO_OPPORTUNITY_NOT_FOUND","SEO_WORK_ACTION_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesAssignErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignErrorDefinitionSchema0"}}]},"OperationMarketingSeoOpportunitiesAssignErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignErrorDefinitionSchema1"}}]},"OperationMarketingSeoOpportunitiesAssignKeywordInput":{"type":"object","properties":{"opportunityId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"keywordId":{"type":"string","minLength":1,"maxLength":200},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["opportunityId","expectedRevision","keywordId","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesAssignKeywordOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteDomain":{"type":"string"},"market":{"default":null,"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":32}},"required":["locationCode","languageCode"],"additionalProperties":false},"kind":{"type":"string","enum":["keyword","content","page","technical","investigate"]},"keyword":{"default":null,"nullable":true,"type":"string"},"targetUrl":{"default":null,"nullable":true,"type":"string"},"title":{"type":"string"},"rationale":{"type":"string"},"uncertainty":{"default":null,"nullable":true,"type":"string"},"priority":{"type":"integer","minimum":0,"maximum":100},"prioritySource":{"type":"string","enum":["derived","user"]},"pageScore":{"default":null,"nullable":true,"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":100},"components":{"type":"object","properties":{"demand":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"businessValue":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"reachability":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false}},"required":["demand","businessValue","reachability"],"additionalProperties":false},"pageCount":{"type":"integer","minimum":1,"maximum":9007199254740991},"disclosure":{"type":"string","minLength":1}},"required":["total","components","pageCount","disclosure"],"additionalProperties":false},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":500},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":255},"sourceResourceId":{"default":null,"nullable":true,"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string"}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":255},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string"}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string"}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"sourceResultIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO research result id"}},"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decisionRecord":{"default":null,"nullable":true,"type":"object","properties":{"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decidedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"decidedByUserId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"note":{"default":null,"nullable":true,"type":"string"}},"required":["decision","decidedAt","decidedByUserId","note"],"additionalProperties":false},"planOrder":{"type":"integer","minimum":0,"maximum":9007199254740991},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"linkedWorkId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO work id"},"linkedActionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO action id"},"linkedTrackedKeywordId":{"default":null,"nullable":true,"type":"string"},"dedupeKey":{"type":"string","minLength":1},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","siteDomain","market","kind","keyword","targetUrl","title","rationale","uncertainty","priority","prioritySource","pageScore","evidence","sourceResultIds","decision","decisionRecord","planOrder","revision","linkedWorkId","linkedActionId","linkedTrackedKeywordId","dedupeKey","createdAt","updatedAt"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesAssignKeywordError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_OPPORTUNITY_CONFLICT","SEO_OPPORTUNITY_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesAssignKeywordErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordErrorDefinitionSchema0"}}]},"OperationMarketingSeoOpportunitiesAssignKeywordErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordErrorDefinitionSchema1"}}]},"OperationMarketingSeoOpportunitiesCreateInput":{"type":"object","properties":{"siteDomain":{"type":"string","minLength":1,"maxLength":255},"market":{"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":32}},"required":["locationCode","languageCode"],"additionalProperties":false},"kind":{"default":"keyword","type":"string","enum":["keyword","content","page","technical","investigate"]},"keyword":{"type":"string","minLength":1},"targetUrl":{"type":"string","format":"uri"},"title":{"type":"string","minLength":1,"maxLength":500},"rationale":{"type":"string","minLength":1,"maxLength":4000},"uncertainty":{"type":"string","maxLength":2000},"priority":{"default":50,"type":"integer","minimum":0,"maximum":100},"prioritySource":{"default":"user","type":"string","enum":["user"]},"dedupeKey":{"type":"string","minLength":1,"maxLength":500},"evidence":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":500},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":255},"sourceResourceId":{"type":"string","minLength":1,"maxLength":255},"provider":{"type":"string","minLength":1,"maxLength":255},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"type":"string","minLength":1,"maxLength":500}},"required":["sourceKind","sourceOperationId","capturedAt"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"readOnly":true,"maxItems":100,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":255},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"type":"string","minLength":1,"maxLength":100}},"required":["field","value"],"additionalProperties":false}},"limitation":{"type":"string","maxLength":2000}},"required":["id","provenance","completeness","observed"],"additionalProperties":false}},"sourceResultIds":{"default":[],"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO research result id"}},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteDomain","title","rationale","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteDomain":{"type":"string"},"market":{"default":null,"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":32}},"required":["locationCode","languageCode"],"additionalProperties":false},"kind":{"type":"string","enum":["keyword","content","page","technical","investigate"]},"keyword":{"default":null,"nullable":true,"type":"string"},"targetUrl":{"default":null,"nullable":true,"type":"string"},"title":{"type":"string"},"rationale":{"type":"string"},"uncertainty":{"default":null,"nullable":true,"type":"string"},"priority":{"type":"integer","minimum":0,"maximum":100},"prioritySource":{"type":"string","enum":["derived","user"]},"pageScore":{"default":null,"nullable":true,"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":100},"components":{"type":"object","properties":{"demand":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"businessValue":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"reachability":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false}},"required":["demand","businessValue","reachability"],"additionalProperties":false},"pageCount":{"type":"integer","minimum":1,"maximum":9007199254740991},"disclosure":{"type":"string","minLength":1}},"required":["total","components","pageCount","disclosure"],"additionalProperties":false},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":500},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":255},"sourceResourceId":{"default":null,"nullable":true,"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string"}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":255},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string"}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string"}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"sourceResultIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO research result id"}},"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decisionRecord":{"default":null,"nullable":true,"type":"object","properties":{"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decidedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"decidedByUserId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"note":{"default":null,"nullable":true,"type":"string"}},"required":["decision","decidedAt","decidedByUserId","note"],"additionalProperties":false},"planOrder":{"type":"integer","minimum":0,"maximum":9007199254740991},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"linkedWorkId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO work id"},"linkedActionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO action id"},"linkedTrackedKeywordId":{"default":null,"nullable":true,"type":"string"},"dedupeKey":{"type":"string","minLength":1},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"duplicate":{"type":"boolean"},"replay":{"type":"boolean"}},"required":["id","accountId","siteDomain","market","kind","keyword","targetUrl","title","rationale","uncertainty","priority","prioritySource","pageScore","evidence","sourceResultIds","decision","decisionRecord","planOrder","revision","linkedWorkId","linkedActionId","linkedTrackedKeywordId","dedupeKey","createdAt","updatedAt","duplicate","replay"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoOpportunitiesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoOpportunitiesDeleteInput":{"type":"object","properties":{"opportunityId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["opportunityId","expectedRevision","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesDeleteOutput":{"type":"object","properties":{},"additionalProperties":false},"OperationMarketingSeoOpportunitiesDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_OPPORTUNITY_ALREADY_LINKED","SEO_OPPORTUNITY_CONFLICT","SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","SEO_OPPORTUNITY_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteErrorDefinitionSchema0"}}]},"OperationMarketingSeoOpportunitiesDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteErrorDefinitionSchema1"}}]},"OperationMarketingSeoOpportunitiesGenerateInput":{"type":"object","properties":{"siteDomain":{"type":"string","minLength":1,"maxLength":255},"market":{"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":32}},"required":["locationCode","languageCode"],"additionalProperties":false},"resultIds":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO research result id"}},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteDomain","resultIds","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesGenerateOutput":{"type":"object","properties":{"opportunities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteDomain":{"type":"string"},"market":{"default":null,"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":32}},"required":["locationCode","languageCode"],"additionalProperties":false},"kind":{"type":"string","enum":["keyword","content","page","technical","investigate"]},"keyword":{"default":null,"nullable":true,"type":"string"},"targetUrl":{"default":null,"nullable":true,"type":"string"},"title":{"type":"string"},"rationale":{"type":"string"},"uncertainty":{"default":null,"nullable":true,"type":"string"},"priority":{"type":"integer","minimum":0,"maximum":100},"prioritySource":{"type":"string","enum":["derived","user"]},"pageScore":{"default":null,"nullable":true,"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":100},"components":{"type":"object","properties":{"demand":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"businessValue":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"reachability":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false}},"required":["demand","businessValue","reachability"],"additionalProperties":false},"pageCount":{"type":"integer","minimum":1,"maximum":9007199254740991},"disclosure":{"type":"string","minLength":1}},"required":["total","components","pageCount","disclosure"],"additionalProperties":false},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":500},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":255},"sourceResourceId":{"default":null,"nullable":true,"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string"}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":255},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string"}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string"}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"sourceResultIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO research result id"}},"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decisionRecord":{"default":null,"nullable":true,"type":"object","properties":{"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decidedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"decidedByUserId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"note":{"default":null,"nullable":true,"type":"string"}},"required":["decision","decidedAt","decidedByUserId","note"],"additionalProperties":false},"planOrder":{"type":"integer","minimum":0,"maximum":9007199254740991},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"linkedWorkId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO work id"},"linkedActionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO action id"},"linkedTrackedKeywordId":{"default":null,"nullable":true,"type":"string"},"dedupeKey":{"type":"string","minLength":1},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","siteDomain","market","kind","keyword","targetUrl","title","rationale","uncertainty","priority","prioritySource","pageScore","evidence","sourceResultIds","decision","decisionRecord","planOrder","revision","linkedWorkId","linkedActionId","linkedTrackedKeywordId","dedupeKey","createdAt","updatedAt"],"additionalProperties":false}},"duplicates":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["opportunities","duplicates"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesGenerateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","SEO_RESEARCH_NOT_FOUND","SEO_RESEARCH_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesGenerateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateErrorDefinitionSchema0"}}]},"OperationMarketingSeoOpportunitiesGenerateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateErrorDefinitionSchema1"}}]},"OperationMarketingSeoOpportunitiesGeneratePagesInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO site context id"},"market":{"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":32}},"required":["locationCode","languageCode"],"additionalProperties":false},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"maxPages":{"default":100,"type":"integer","minimum":1,"maximum":500},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesGeneratePagesOutput":{"type":"object","properties":{"opportunities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteDomain":{"type":"string"},"market":{"default":null,"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":32}},"required":["locationCode","languageCode"],"additionalProperties":false},"kind":{"type":"string","enum":["keyword","content","page","technical","investigate"]},"keyword":{"default":null,"nullable":true,"type":"string"},"targetUrl":{"default":null,"nullable":true,"type":"string"},"title":{"type":"string"},"rationale":{"type":"string"},"uncertainty":{"default":null,"nullable":true,"type":"string"},"priority":{"type":"integer","minimum":0,"maximum":100},"prioritySource":{"type":"string","enum":["derived","user"]},"pageScore":{"default":null,"nullable":true,"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":100},"components":{"type":"object","properties":{"demand":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"businessValue":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"reachability":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false}},"required":["demand","businessValue","reachability"],"additionalProperties":false},"pageCount":{"type":"integer","minimum":1,"maximum":9007199254740991},"disclosure":{"type":"string","minLength":1}},"required":["total","components","pageCount","disclosure"],"additionalProperties":false},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":500},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":255},"sourceResourceId":{"default":null,"nullable":true,"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string"}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":255},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string"}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string"}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"sourceResultIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO research result id"}},"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decisionRecord":{"default":null,"nullable":true,"type":"object","properties":{"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decidedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"decidedByUserId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"note":{"default":null,"nullable":true,"type":"string"}},"required":["decision","decidedAt","decidedByUserId","note"],"additionalProperties":false},"planOrder":{"type":"integer","minimum":0,"maximum":9007199254740991},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"linkedWorkId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO work id"},"linkedActionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO action id"},"linkedTrackedKeywordId":{"default":null,"nullable":true,"type":"string"},"dedupeKey":{"type":"string","minLength":1},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","siteDomain","market","kind","keyword","targetUrl","title","rationale","uncertainty","priority","prioritySource","pageScore","evidence","sourceResultIds","decision","decisionRecord","planOrder","revision","linkedWorkId","linkedActionId","linkedTrackedKeywordId","dedupeKey","createdAt","updatedAt"],"additionalProperties":false}},"duplicates":{"type":"integer","minimum":0,"maximum":9007199254740991},"unscoredPages":{"type":"integer","minimum":0,"maximum":9007199254740991},"basis":{"type":"object","properties":{"pageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"outcomesMeasured":{"type":"boolean"},"window":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"requestedWindow":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"windowMatch":{"type":"string","enum":["requested","nearby","fallback"]},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["pageCount","outcomesMeasured","window","requestedWindow","windowMatch","collectedAt"],"additionalProperties":false}},"required":["opportunities","duplicates","unscoredPages","basis"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesGeneratePagesError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","SEO_PAGE_SCORING_NO_OBSERVATIONS","SEO_PAGE_SCORING_UNAVAILABLE","SEO_SITE_CONTEXT_INCOMPLETE","SEO_SITE_CONTEXT_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesGeneratePagesErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesErrorDefinitionSchema0"}}]},"OperationMarketingSeoOpportunitiesGeneratePagesErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesErrorDefinitionSchema1"}}]},"OperationMarketingSeoOpportunitiesGetInput":{"type":"object","properties":{"opportunityId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"}},"required":["opportunityId"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteDomain":{"type":"string"},"market":{"default":null,"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":32}},"required":["locationCode","languageCode"],"additionalProperties":false},"kind":{"type":"string","enum":["keyword","content","page","technical","investigate"]},"keyword":{"default":null,"nullable":true,"type":"string"},"targetUrl":{"default":null,"nullable":true,"type":"string"},"title":{"type":"string"},"rationale":{"type":"string"},"uncertainty":{"default":null,"nullable":true,"type":"string"},"priority":{"type":"integer","minimum":0,"maximum":100},"prioritySource":{"type":"string","enum":["derived","user"]},"pageScore":{"default":null,"nullable":true,"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":100},"components":{"type":"object","properties":{"demand":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"businessValue":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"reachability":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false}},"required":["demand","businessValue","reachability"],"additionalProperties":false},"pageCount":{"type":"integer","minimum":1,"maximum":9007199254740991},"disclosure":{"type":"string","minLength":1}},"required":["total","components","pageCount","disclosure"],"additionalProperties":false},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":500},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":255},"sourceResourceId":{"default":null,"nullable":true,"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string"}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":255},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string"}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string"}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"sourceResultIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO research result id"}},"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decisionRecord":{"default":null,"nullable":true,"type":"object","properties":{"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decidedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"decidedByUserId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"note":{"default":null,"nullable":true,"type":"string"}},"required":["decision","decidedAt","decidedByUserId","note"],"additionalProperties":false},"planOrder":{"type":"integer","minimum":0,"maximum":9007199254740991},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"linkedWorkId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO work id"},"linkedActionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO action id"},"linkedTrackedKeywordId":{"default":null,"nullable":true,"type":"string"},"dedupeKey":{"type":"string","minLength":1},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","siteDomain","market","kind","keyword","targetUrl","title","rationale","uncertainty","priority","prioritySource","pageScore","evidence","sourceResultIds","decision","decisionRecord","planOrder","revision","linkedWorkId","linkedActionId","linkedTrackedKeywordId","dedupeKey","createdAt","updatedAt"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_OPPORTUNITY_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoOpportunitiesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoOpportunitiesListInput":{"type":"object","properties":{"siteDomain":{"type":"string","minLength":1,"maxLength":255},"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string"}},"additionalProperties":false},"OperationMarketingSeoOpportunitiesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteDomain":{"type":"string"},"market":{"default":null,"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":32}},"required":["locationCode","languageCode"],"additionalProperties":false},"kind":{"type":"string","enum":["keyword","content","page","technical","investigate"]},"keyword":{"default":null,"nullable":true,"type":"string"},"targetUrl":{"default":null,"nullable":true,"type":"string"},"title":{"type":"string"},"rationale":{"type":"string"},"uncertainty":{"default":null,"nullable":true,"type":"string"},"priority":{"type":"integer","minimum":0,"maximum":100},"prioritySource":{"type":"string","enum":["derived","user"]},"pageScore":{"default":null,"nullable":true,"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":100},"components":{"type":"object","properties":{"demand":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"businessValue":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"reachability":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false}},"required":["demand","businessValue","reachability"],"additionalProperties":false},"pageCount":{"type":"integer","minimum":1,"maximum":9007199254740991},"disclosure":{"type":"string","minLength":1}},"required":["total","components","pageCount","disclosure"],"additionalProperties":false},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":500},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":255},"sourceResourceId":{"default":null,"nullable":true,"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string"}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":255},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string"}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string"}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"sourceResultIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO research result id"}},"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decisionRecord":{"default":null,"nullable":true,"type":"object","properties":{"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decidedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"decidedByUserId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"note":{"default":null,"nullable":true,"type":"string"}},"required":["decision","decidedAt","decidedByUserId","note"],"additionalProperties":false},"planOrder":{"type":"integer","minimum":0,"maximum":9007199254740991},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"linkedWorkId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO work id"},"linkedActionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO action id"},"linkedTrackedKeywordId":{"default":null,"nullable":true,"type":"string"},"dedupeKey":{"type":"string","minLength":1},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","siteDomain","market","kind","keyword","targetUrl","title","rationale","uncertainty","priority","prioritySource","pageScore","evidence","sourceResultIds","decision","decisionRecord","planOrder","revision","linkedWorkId","linkedActionId","linkedTrackedKeywordId","dedupeKey","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListErrorDefinitionSchema0"}}]},"OperationMarketingSeoOpportunitiesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListErrorDefinitionSchema1"}}]},"OperationMarketingSeoOpportunitiesUpdateInput":{"type":"object","properties":{"opportunityId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"title":{"type":"string","minLength":1,"maxLength":500},"rationale":{"type":"string","minLength":1,"maxLength":4000},"uncertainty":{"nullable":true,"type":"string","maxLength":2000},"priority":{"type":"integer","minimum":0,"maximum":100},"targetUrl":{"nullable":true,"type":"string","format":"uri"},"keyword":{"nullable":true,"type":"string","minLength":1},"kind":{"type":"string","enum":["keyword","content","page","technical","investigate"]},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["opportunityId","expectedRevision","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteDomain":{"type":"string"},"market":{"default":null,"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":32}},"required":["locationCode","languageCode"],"additionalProperties":false},"kind":{"type":"string","enum":["keyword","content","page","technical","investigate"]},"keyword":{"default":null,"nullable":true,"type":"string"},"targetUrl":{"default":null,"nullable":true,"type":"string"},"title":{"type":"string"},"rationale":{"type":"string"},"uncertainty":{"default":null,"nullable":true,"type":"string"},"priority":{"type":"integer","minimum":0,"maximum":100},"prioritySource":{"type":"string","enum":["derived","user"]},"pageScore":{"default":null,"nullable":true,"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":100},"components":{"type":"object","properties":{"demand":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"businessValue":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false},"reachability":{"type":"object","properties":{"key":{"type":"string","enum":["demand","businessValue","reachability"]},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["page_not_observed","no_impressions_recorded","no_position","outcomes_not_measured","no_outcomes_recorded"]},"raw":{"nullable":true,"type":"number"},"transformed":{"nullable":true,"type":"number"},"normalized":{"nullable":true,"type":"number","minimum":0,"maximum":1},"method":{"type":"string","enum":["log_percentile_rank","percentile_rank","position_curve"]},"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"nominalWeight":{"type":"number","minimum":0,"maximum":1},"effectiveWeight":{"type":"number","minimum":0,"maximum":1},"contribution":{"type":"number","minimum":0,"maximum":1}},"required":["key","available","unavailableReason","raw","transformed","normalized","method","population","nominalWeight","effectiveWeight","contribution"],"additionalProperties":false}},"required":["demand","businessValue","reachability"],"additionalProperties":false},"pageCount":{"type":"integer","minimum":1,"maximum":9007199254740991},"disclosure":{"type":"string","minLength":1}},"required":["total","components","pageCount","disclosure"],"additionalProperties":false},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":500},"provenance":{"type":"object","properties":{"sourceKind":{"type":"string","enum":["manual","research_result","rank_snapshot","search_console","tracked_keyword","ai_suggestion","audit_finding"]},"sourceOperationId":{"type":"string","minLength":1,"maxLength":255},"sourceResourceId":{"default":null,"nullable":true,"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locator":{"default":null,"nullable":true,"type":"string"}},"required":["sourceKind","sourceOperationId","sourceResourceId","provider","capturedAt","locator"],"additionalProperties":false},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"observed":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":255},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},"unit":{"default":null,"nullable":true,"type":"string"}},"required":["field","value","unit"],"additionalProperties":false}},"limitation":{"default":null,"nullable":true,"type":"string"}},"required":["id","provenance","completeness","observed","limitation"],"additionalProperties":false}},"sourceResultIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO research result id"}},"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decisionRecord":{"default":null,"nullable":true,"type":"object","properties":{"decision":{"type":"string","enum":["unreviewed","selected","dismissed","deferred","adopted"]},"decidedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"decidedByUserId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"note":{"default":null,"nullable":true,"type":"string"}},"required":["decision","decidedAt","decidedByUserId","note"],"additionalProperties":false},"planOrder":{"type":"integer","minimum":0,"maximum":9007199254740991},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"linkedWorkId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO work id"},"linkedActionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO action id"},"linkedTrackedKeywordId":{"default":null,"nullable":true,"type":"string"},"dedupeKey":{"type":"string","minLength":1},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","siteDomain","market","kind","keyword","targetUrl","title","rationale","uncertainty","priority","prioritySource","pageScore","evidence","sourceResultIds","decision","decisionRecord","planOrder","revision","linkedWorkId","linkedActionId","linkedTrackedKeywordId","dedupeKey","createdAt","updatedAt"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_OPPORTUNITY_CONFLICT","SEO_OPPORTUNITY_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOpportunitiesUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoOpportunitiesUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoOpportunityPlansUpdateInput":{"type":"object","properties":{"planId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity plan id"},"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"orderedOpportunityIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"}},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["planId","expectedRevision","orderedOpportunityIds","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoOpportunityPlansUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity plan id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteDomain":{"type":"string"},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"orderedOpportunityIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO opportunity id"}},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","siteDomain","revision","orderedOpportunityIds","updatedAt"],"additionalProperties":false},"OperationMarketingSeoOpportunityPlansUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_OPPORTUNITY_PLAN_CONFLICT","SEO_OPPORTUNITY_PLAN_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOpportunityPlansUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoOpportunityPlansUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoOutcomeEventsImportInput":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1},"landingPageUrl":{"nullable":true,"type":"string"},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl","fromDate","toDate"]},"OperationMarketingSeoOutcomeEventsImportOutput":{"type":"object","properties":{"replayed":{"type":"boolean"},"records":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"provider":{"type":"string","minLength":1},"eventId":{"nullable":true,"type":"string"},"dedupeKey":{"type":"string","minLength":1},"eventName":{"type":"string","minLength":1},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"siteUrl":{"type":"string","minLength":1},"landingPageUrl":{"nullable":true,"type":"string"},"channel":{"type":"string","enum":["organic_search","paid_search","organic_social","paid_social","direct","referral","email","unknown"]},"traffic":{"type":"object","properties":{"source":{"default":null,"nullable":true,"type":"string"},"medium":{"default":null,"nullable":true,"type":"string"},"campaign":{"default":null,"nullable":true,"type":"string"},"gclid":{"default":null,"nullable":true,"type":"string"}},"required":["source","medium","campaign","gclid"],"additionalProperties":false},"clientId":{"nullable":true,"type":"string"},"emailHash":{"nullable":true,"type":"string"},"valueCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"nullable":true,"type":"string","pattern":"^[A-Z]{3}$"},"provenance":{"type":"object","properties":{"provider":{"type":"string","minLength":1},"sourceOperationId":{"type":"string","minLength":1},"sourceResultId":{"type":"string","minLength":1},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"propertyUrl":{"type":"string","minLength":1},"disclosure":{"default":null,"nullable":true,"type":"string"}},"required":["provider","sourceOperationId","sourceResultId","collectedAt","propertyUrl","disclosure"],"additionalProperties":false},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","provider","eventId","dedupeKey","eventName","occurredAt","siteUrl","landingPageUrl","channel","traffic","clientId","emailHash","valueCents","currency","provenance","recordedAt"],"additionalProperties":false}},"aiAssistant":{"nullable":true,"type":"object","properties":{"sessions":{"type":"array","items":{"type":"object","properties":{"dedupeKey":{"type":"string","minLength":1},"date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"landingPageUrl":{"type":"string","minLength":1},"source":{"type":"string"},"medium":{"type":"string"},"sessions":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["dedupeKey","date","landingPageUrl","source","medium","sessions"],"additionalProperties":false}},"keyEvents":{"type":"array","items":{"type":"object","properties":{"dedupeKey":{"type":"string","minLength":1},"date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"landingPageUrl":{"type":"string","minLength":1},"eventName":{"type":"string","minLength":1},"source":{"type":"string"},"medium":{"type":"string"},"keyEvents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["dedupeKey","date","landingPageUrl","eventName","source","medium","keyEvents"],"additionalProperties":false}},"provenance":{"type":"object","properties":{"provider":{"type":"string","minLength":1},"sourceOperationId":{"type":"string","minLength":1},"sourceResultId":{"type":"string","minLength":1},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"propertyUrl":{"type":"string","minLength":1},"disclosure":{"default":null,"nullable":true,"type":"string"}},"required":["provider","sourceOperationId","sourceResultId","collectedAt","propertyUrl","disclosure"],"additionalProperties":false}},"required":["sessions","keyEvents","provenance"],"additionalProperties":false}},"required":["replayed","records","aiAssistant"],"additionalProperties":false},"OperationMarketingSeoOutcomeEventsImportError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","IDEMPOTENCY_KEY_REQUIRED","SEO_OUTCOMES_INGESTION_FAILED","SEO_KEY_EVENT_INSTRUMENTATION_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOutcomeEventsImportErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportErrorDefinitionSchema0"}}]},"OperationMarketingSeoOutcomeEventsImportErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportErrorDefinitionSchema1"}}]},"OperationMarketingSeoOutcomesCreateInput":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1},"landingPageUrl":{"nullable":true,"type":"string"},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"attributionModel":{"default":"provider_reported","type":"string","enum":["first_touch","last_non_direct","linear","provider_reported","not_available"]},"crmCaptureStatus":{"default":"not_measured","type":"string","enum":["complete","partial","not_measured"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl","fromDate","toDate"]},"OperationMarketingSeoOutcomesCreateOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"report":{"type":"object","properties":{"status":{"type":"string","enum":["measured","partial","not_measured","unknown"]},"siteUrl":{"type":"string","minLength":1},"landingPageUrl":{"nullable":true,"type":"string"},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"attributionModel":{"type":"string","enum":["first_touch","last_non_direct","linear","provider_reported","not_available"]},"counts":{"type":"object","properties":{"organicSearchKeyEvents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"leads":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"bookings":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"revenueCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"default":null,"nullable":true,"type":"string","pattern":"^[A-Z]{3}$"}},"required":["organicSearchKeyEvents","leads","bookings","revenueCents","currency"],"additionalProperties":false},"revenueByCurrency":{"default":[],"type":"array","items":{"type":"object","properties":{"revenueCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"}},"required":["revenueCents","currency"],"additionalProperties":false}},"excludedChannels":{"type":"object","properties":{"organic_search":{"type":"integer","minimum":0,"maximum":9007199254740991},"paid_search":{"type":"integer","minimum":0,"maximum":9007199254740991},"organic_social":{"type":"integer","minimum":0,"maximum":9007199254740991},"paid_social":{"type":"integer","minimum":0,"maximum":9007199254740991},"direct":{"type":"integer","minimum":0,"maximum":9007199254740991},"referral":{"type":"integer","minimum":0,"maximum":9007199254740991},"email":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["organic_search","paid_search","organic_social","paid_social","direct","referral","email","unknown"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","not_measured","unknown"]},"denominator":{"type":"string","enum":["deduped_organic_search_key_events","eligible_crm_outcomes","unknown"]},"eligibleOrganicEvents":{"type":"integer","minimum":0,"maximum":9007199254740991},"excludedPaidOrSocialEvents":{"type":"integer","minimum":0,"maximum":9007199254740991},"excludedOtherChannels":{"type":"integer","minimum":0,"maximum":9007199254740991},"crmOutcomesSeen":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"matchedCrmOutcomes":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"unmatchedOrganicEvents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"matchRatePercent":{"nullable":true,"type":"number","minimum":0},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","denominator","eligibleOrganicEvents","excludedPaidOrSocialEvents","excludedOtherChannels","crmOutcomesSeen","matchedCrmOutcomes","unmatchedOrganicEvents","matchRatePercent","limitations"],"additionalProperties":false},"provenance":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","minLength":1},"sourceOperationId":{"type":"string","minLength":1},"sourceResultId":{"type":"string","minLength":1},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"propertyUrl":{"type":"string","minLength":1},"disclosure":{"default":null,"nullable":true,"type":"string"}},"required":["provider","sourceOperationId","sourceResultId","collectedAt","propertyUrl","disclosure"],"additionalProperties":false}},"disclosure":{"type":"object","properties":{"interpretation":{"type":"string","enum":["observed_attribution_not_causality"]},"pageViewsAreNotLeads":{"type":"boolean","enum":[true]},"queryLevelAttributionAvailable":{"type":"boolean","enum":[false]}},"required":["interpretation","pageViewsAreNotLeads","queryLevelAttributionAvailable"],"additionalProperties":false},"aiAssistant":{"default":{"channel":"ai_assistant","coverage":{"status":"not_measured","limitations":["This report was created before AI-assistant referrals were measured."]},"sessions":null,"keyEvents":null,"landingPages":[],"sources":[],"provenance":[]},"type":"object","properties":{"channel":{"type":"string","enum":["ai_assistant"]},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","not_measured"]},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","limitations"],"additionalProperties":false},"sessions":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"keyEvents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"landingPages":{"type":"array","items":{"type":"object","properties":{"landingPageUrl":{"type":"string","minLength":1},"sessions":{"type":"integer","minimum":0,"maximum":9007199254740991},"keyEvents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["landingPageUrl","sessions","keyEvents"],"additionalProperties":false}},"sources":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"sessions":{"type":"integer","minimum":0,"maximum":9007199254740991},"keyEvents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["source","sessions","keyEvents"],"additionalProperties":false}},"provenance":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","minLength":1},"sourceOperationId":{"type":"string","minLength":1},"sourceResultId":{"type":"string","minLength":1},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"propertyUrl":{"type":"string","minLength":1},"disclosure":{"default":null,"nullable":true,"type":"string"}},"required":["provider","sourceOperationId","sourceResultId","collectedAt","propertyUrl","disclosure"],"additionalProperties":false}}},"required":["channel","coverage","sessions","keyEvents","landingPages","sources","provenance"],"additionalProperties":false}},"required":["status","siteUrl","landingPageUrl","fromDate","toDate","attributionModel","counts","revenueByCurrency","excludedChannels","coverage","provenance","disclosure","aiAssistant"],"additionalProperties":false},"idempotencyKey":{"type":"string","minLength":1},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"replayed":{"type":"boolean"}},"required":["id","accountId","report","idempotencyKey","recordedAt","replayed"],"additionalProperties":false},"OperationMarketingSeoOutcomesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","IDEMPOTENCY_KEY_REQUIRED","SEO_OUTCOME_REPORT_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOutcomesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoOutcomesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoOutcomesListInput":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string"}},"additionalProperties":false},"OperationMarketingSeoOutcomesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"report":{"type":"object","properties":{"status":{"type":"string","enum":["measured","partial","not_measured","unknown"]},"siteUrl":{"type":"string","minLength":1},"landingPageUrl":{"nullable":true,"type":"string"},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"attributionModel":{"type":"string","enum":["first_touch","last_non_direct","linear","provider_reported","not_available"]},"counts":{"type":"object","properties":{"organicSearchKeyEvents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"leads":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"bookings":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"revenueCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"default":null,"nullable":true,"type":"string","pattern":"^[A-Z]{3}$"}},"required":["organicSearchKeyEvents","leads","bookings","revenueCents","currency"],"additionalProperties":false},"revenueByCurrency":{"default":[],"type":"array","items":{"type":"object","properties":{"revenueCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"}},"required":["revenueCents","currency"],"additionalProperties":false}},"excludedChannels":{"type":"object","properties":{"organic_search":{"type":"integer","minimum":0,"maximum":9007199254740991},"paid_search":{"type":"integer","minimum":0,"maximum":9007199254740991},"organic_social":{"type":"integer","minimum":0,"maximum":9007199254740991},"paid_social":{"type":"integer","minimum":0,"maximum":9007199254740991},"direct":{"type":"integer","minimum":0,"maximum":9007199254740991},"referral":{"type":"integer","minimum":0,"maximum":9007199254740991},"email":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["organic_search","paid_search","organic_social","paid_social","direct","referral","email","unknown"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","not_measured","unknown"]},"denominator":{"type":"string","enum":["deduped_organic_search_key_events","eligible_crm_outcomes","unknown"]},"eligibleOrganicEvents":{"type":"integer","minimum":0,"maximum":9007199254740991},"excludedPaidOrSocialEvents":{"type":"integer","minimum":0,"maximum":9007199254740991},"excludedOtherChannels":{"type":"integer","minimum":0,"maximum":9007199254740991},"crmOutcomesSeen":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"matchedCrmOutcomes":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"unmatchedOrganicEvents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"matchRatePercent":{"nullable":true,"type":"number","minimum":0},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","denominator","eligibleOrganicEvents","excludedPaidOrSocialEvents","excludedOtherChannels","crmOutcomesSeen","matchedCrmOutcomes","unmatchedOrganicEvents","matchRatePercent","limitations"],"additionalProperties":false},"provenance":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","minLength":1},"sourceOperationId":{"type":"string","minLength":1},"sourceResultId":{"type":"string","minLength":1},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"propertyUrl":{"type":"string","minLength":1},"disclosure":{"default":null,"nullable":true,"type":"string"}},"required":["provider","sourceOperationId","sourceResultId","collectedAt","propertyUrl","disclosure"],"additionalProperties":false}},"disclosure":{"type":"object","properties":{"interpretation":{"type":"string","enum":["observed_attribution_not_causality"]},"pageViewsAreNotLeads":{"type":"boolean","enum":[true]},"queryLevelAttributionAvailable":{"type":"boolean","enum":[false]}},"required":["interpretation","pageViewsAreNotLeads","queryLevelAttributionAvailable"],"additionalProperties":false},"aiAssistant":{"default":{"channel":"ai_assistant","coverage":{"status":"not_measured","limitations":["This report was created before AI-assistant referrals were measured."]},"sessions":null,"keyEvents":null,"landingPages":[],"sources":[],"provenance":[]},"type":"object","properties":{"channel":{"type":"string","enum":["ai_assistant"]},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","not_measured"]},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","limitations"],"additionalProperties":false},"sessions":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"keyEvents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"landingPages":{"type":"array","items":{"type":"object","properties":{"landingPageUrl":{"type":"string","minLength":1},"sessions":{"type":"integer","minimum":0,"maximum":9007199254740991},"keyEvents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["landingPageUrl","sessions","keyEvents"],"additionalProperties":false}},"sources":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"sessions":{"type":"integer","minimum":0,"maximum":9007199254740991},"keyEvents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["source","sessions","keyEvents"],"additionalProperties":false}},"provenance":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","minLength":1},"sourceOperationId":{"type":"string","minLength":1},"sourceResultId":{"type":"string","minLength":1},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"propertyUrl":{"type":"string","minLength":1},"disclosure":{"default":null,"nullable":true,"type":"string"}},"required":["provider","sourceOperationId","sourceResultId","collectedAt","propertyUrl","disclosure"],"additionalProperties":false}}},"required":["channel","coverage","sessions","keyEvents","landingPages","sources","provenance"],"additionalProperties":false}},"required":["status","siteUrl","landingPageUrl","fromDate","toDate","attributionModel","counts","revenueByCurrency","excludedChannels","coverage","provenance","disclosure","aiAssistant"],"additionalProperties":false},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","report","recordedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoOutcomesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoOutcomesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListErrorDefinitionSchema0"}}]},"OperationMarketingSeoOutcomesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListErrorDefinitionSchema1"}}]},"OperationMarketingSeoPagesGetInput":{"type":"object","properties":{"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]},"pageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"url":{"type":"string","maxLength":2048,"format":"uri"}},"required":["siteUrl"],"additionalProperties":false},"OperationMarketingSeoPagesGetOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"siteUrl":{"type":"string"},"url":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"firstSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastInspectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verdict":{"type":"string","enum":["indexed","not_indexed","unknown"]},"coverageState":{"nullable":true,"type":"string"},"indexingState":{"nullable":true,"type":"string"},"robotsTxtState":{"nullable":true,"type":"string"},"pageFetchState":{"nullable":true,"type":"string"},"googleCanonical":{"nullable":true,"type":"string"},"userCanonical":{"nullable":true,"type":"string"},"sitemapsReported":{"type":"array","items":{"type":"string"}},"referringUrlCount":{"type":"number"},"crawlHttpStatus":{"nullable":true,"type":"number"},"crawlNoindex":{"nullable":true,"type":"boolean"},"crawlCanonical":{"nullable":true,"type":"string"},"internalLinkCount":{"type":"number"},"impressions90d":{"type":"number"},"clicks90d":{"type":"number"},"lifecycle":{"type":"string","enum":["new","inspected_indexed","inspected_not_indexed","fix_in_progress","submitted","awaiting_recheck","indexed","stalled","excluded"]},"recheckAfterAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"recheckCount":{"type":"number"},"submissions":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetOutputDefinitionSchema0"}},"diagnosis":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetOutputDefinitionSchema1"}},"priority":{"type":"number"},"excluded":{"type":"boolean"},"linkedActionId":{"nullable":true,"type":"string"},"revision":{"type":"number"}},"required":["id","accountId","siteUrl","url","sources","firstSeenAt","lastSeenAt","lastInspectedAt","verdict","coverageState","indexingState","robotsTxtState","pageFetchState","googleCanonical","userCanonical","sitemapsReported","referringUrlCount","crawlHttpStatus","crawlNoindex","crawlCanonical","internalLinkCount","impressions90d","clicks90d","lifecycle","recheckAfterAt","recheckCount","submissions","diagnosis","priority","excluded","linkedActionId","revision"],"additionalProperties":false},"OperationMarketingSeoPagesGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoPagesGetOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetOutputDefinitionSchema1"}}]},"OperationMarketingSeoPagesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PAGE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPagesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoPagesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoPagesListInput":{"type":"object","properties":{"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]},"lifecycle":{"description":"One lifecycle or a list of lifecycles; pages matching any listed lifecycle are returned.","anyOf":[{"type":"string"},{"minItems":1,"maxItems":9,"type":"array","items":{"type":"string","enum":["new","inspected_indexed","inspected_not_indexed","fix_in_progress","submitted","awaiting_recheck","indexed","stalled","excluded"]}}]},"coverage":{"description":"Coverage group matching the summary counts: indexed, not_indexed, awaiting_recheck, or excluded.","type":"string","enum":["indexed","not_indexed","awaiting_recheck","excluded"]},"excluded":{"type":"boolean"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string"}},"required":["siteUrl"],"additionalProperties":false},"OperationMarketingSeoPagesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"siteUrl":{"type":"string"},"url":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"firstSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastInspectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verdict":{"type":"string","enum":["indexed","not_indexed","unknown"]},"coverageState":{"nullable":true,"type":"string"},"indexingState":{"nullable":true,"type":"string"},"robotsTxtState":{"nullable":true,"type":"string"},"pageFetchState":{"nullable":true,"type":"string"},"googleCanonical":{"nullable":true,"type":"string"},"userCanonical":{"nullable":true,"type":"string"},"sitemapsReported":{"type":"array","items":{"type":"string"}},"referringUrlCount":{"type":"number"},"crawlHttpStatus":{"nullable":true,"type":"number"},"crawlNoindex":{"nullable":true,"type":"boolean"},"crawlCanonical":{"nullable":true,"type":"string"},"internalLinkCount":{"type":"number"},"impressions90d":{"type":"number"},"clicks90d":{"type":"number"},"lifecycle":{"type":"string","enum":["new","inspected_indexed","inspected_not_indexed","fix_in_progress","submitted","awaiting_recheck","indexed","stalled","excluded"]},"recheckAfterAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"recheckCount":{"type":"number"},"submissions":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListOutputDefinitionSchema0"}},"diagnosis":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListOutputDefinitionSchema1"}},"priority":{"type":"number"},"excluded":{"type":"boolean"},"linkedActionId":{"nullable":true,"type":"string"},"revision":{"type":"number"}},"required":["id","accountId","siteUrl","url","sources","firstSeenAt","lastSeenAt","lastInspectedAt","verdict","coverageState","indexingState","robotsTxtState","pageFetchState","googleCanonical","userCanonical","sitemapsReported","referringUrlCount","crawlHttpStatus","crawlNoindex","crawlCanonical","internalLinkCount","impressions90d","clicks90d","lifecycle","recheckAfterAt","recheckCount","submissions","diagnosis","priority","excluded","linkedActionId","revision"],"additionalProperties":false}},"summary":{"type":"object","properties":{"total":{"type":"number"},"indexed":{"type":"number"},"notIndexed":{"type":"number"},"awaitingRecheck":{"type":"number"},"excluded":{"type":"number"}},"required":["total","indexed","notIndexed","awaitingRecheck","excluded"],"additionalProperties":false},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","summary","nextCursor"],"additionalProperties":false},"OperationMarketingSeoPagesListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListOutputDefinitionSchema0"}}]},"OperationMarketingSeoPagesListOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListOutputDefinitionSchema1"}}]},"OperationMarketingSeoPagesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPagesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListErrorDefinitionSchema0"}}]},"OperationMarketingSeoPagesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListErrorDefinitionSchema1"}}]},"OperationMarketingSeoPagesReconcileDiagnosisInput":{"type":"object","properties":{"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]},"url":{"type":"string","maxLength":2048,"format":"uri"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl","url"],"additionalProperties":false},"OperationMarketingSeoPagesReconcileDiagnosisOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"siteUrl":{"type":"string"},"url":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"firstSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastInspectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verdict":{"type":"string","enum":["indexed","not_indexed","unknown"]},"coverageState":{"nullable":true,"type":"string"},"indexingState":{"nullable":true,"type":"string"},"robotsTxtState":{"nullable":true,"type":"string"},"pageFetchState":{"nullable":true,"type":"string"},"googleCanonical":{"nullable":true,"type":"string"},"userCanonical":{"nullable":true,"type":"string"},"sitemapsReported":{"type":"array","items":{"type":"string"}},"referringUrlCount":{"type":"number"},"crawlHttpStatus":{"nullable":true,"type":"number"},"crawlNoindex":{"nullable":true,"type":"boolean"},"crawlCanonical":{"nullable":true,"type":"string"},"internalLinkCount":{"type":"number"},"impressions90d":{"type":"number"},"clicks90d":{"type":"number"},"lifecycle":{"type":"string","enum":["new","inspected_indexed","inspected_not_indexed","fix_in_progress","submitted","awaiting_recheck","indexed","stalled","excluded"]},"recheckAfterAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"recheckCount":{"type":"number"},"submissions":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisOutputDefinitionSchema0"}},"diagnosis":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisOutputDefinitionSchema1"}},"priority":{"type":"number"},"excluded":{"type":"boolean"},"linkedActionId":{"nullable":true,"type":"string"},"revision":{"type":"number"}},"required":["id","accountId","siteUrl","url","sources","firstSeenAt","lastSeenAt","lastInspectedAt","verdict","coverageState","indexingState","robotsTxtState","pageFetchState","googleCanonical","userCanonical","sitemapsReported","referringUrlCount","crawlHttpStatus","crawlNoindex","crawlCanonical","internalLinkCount","impressions90d","clicks90d","lifecycle","recheckAfterAt","recheckCount","submissions","diagnosis","priority","excluded","linkedActionId","revision"],"additionalProperties":false},"OperationMarketingSeoPagesReconcileDiagnosisOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisOutputDefinitionSchema0"}}]},"OperationMarketingSeoPagesReconcileDiagnosisOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisOutputDefinitionSchema1"}}]},"OperationMarketingSeoPagesReconcileDiagnosisError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PAGE_NOT_FOUND","SEO_PAGE_REVISION_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPagesReconcileDiagnosisErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisErrorDefinitionSchema0"}}]},"OperationMarketingSeoPagesReconcileDiagnosisErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisErrorDefinitionSchema1"}}]},"OperationMarketingSeoPagesUpdateInput":{"type":"object","properties":{"siteUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":255,"pattern":"^sc-domain:[a-z0-9.-]+$"}]},"url":{"type":"string","maxLength":2048,"format":"uri"},"excluded":{"type":"boolean"},"expectedRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl","url","excluded"],"additionalProperties":false},"OperationMarketingSeoPagesUpdateOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"siteUrl":{"type":"string"},"url":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"firstSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastInspectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verdict":{"type":"string","enum":["indexed","not_indexed","unknown"]},"coverageState":{"nullable":true,"type":"string"},"indexingState":{"nullable":true,"type":"string"},"robotsTxtState":{"nullable":true,"type":"string"},"pageFetchState":{"nullable":true,"type":"string"},"googleCanonical":{"nullable":true,"type":"string"},"userCanonical":{"nullable":true,"type":"string"},"sitemapsReported":{"type":"array","items":{"type":"string"}},"referringUrlCount":{"type":"number"},"crawlHttpStatus":{"nullable":true,"type":"number"},"crawlNoindex":{"nullable":true,"type":"boolean"},"crawlCanonical":{"nullable":true,"type":"string"},"internalLinkCount":{"type":"number"},"impressions90d":{"type":"number"},"clicks90d":{"type":"number"},"lifecycle":{"type":"string","enum":["new","inspected_indexed","inspected_not_indexed","fix_in_progress","submitted","awaiting_recheck","indexed","stalled","excluded"]},"recheckAfterAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"recheckCount":{"type":"number"},"submissions":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateOutputDefinitionSchema0"}},"diagnosis":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateOutputDefinitionSchema1"}},"priority":{"type":"number"},"excluded":{"type":"boolean"},"linkedActionId":{"nullable":true,"type":"string"},"revision":{"type":"number"}},"required":["id","accountId","siteUrl","url","sources","firstSeenAt","lastSeenAt","lastInspectedAt","verdict","coverageState","indexingState","robotsTxtState","pageFetchState","googleCanonical","userCanonical","sitemapsReported","referringUrlCount","crawlHttpStatus","crawlNoindex","crawlCanonical","internalLinkCount","impressions90d","clicks90d","lifecycle","recheckAfterAt","recheckCount","submissions","diagnosis","priority","excluded","linkedActionId","revision"],"additionalProperties":false},"OperationMarketingSeoPagesUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateOutputDefinitionSchema0"}}]},"OperationMarketingSeoPagesUpdateOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateOutputDefinitionSchema1"}}]},"OperationMarketingSeoPagesUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PAGE_NOT_FOUND","SEO_PAGE_REVISION_CONFLICT","SEO_PAGE_INVALID_TRANSITION"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPagesUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoPagesUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoPageSpeedChecksCreateInput":{"type":"object","properties":{"siteDomain":{"type":"string","minLength":1,"maxLength":8000,"description":"Bare site domain, for example acme.example. Pages must belong to this host."},"urls":{"default":[],"description":"Pages to measure, up to five. Empty means the pages of the latest audit findings for the site, or its home page.","maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}},"devices":{"default":["mobile","desktop"],"minItems":1,"maxItems":2,"type":"array","items":{"type":"string","enum":["desktop","mobile"]}},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteDomain","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoPageSpeedChecksCreateOutput":{"type":"object","properties":{"id":{"type":"string"},"siteDomain":{"type":"string"},"status":{"type":"string","enum":["queued","completed"]},"requestedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"auditId":{"nullable":true,"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"runId":{"type":"string"},"siteDomain":{"type":"string"},"url":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"status":{"type":"string","enum":["queued","completed","failed"]},"taskId":{"nullable":true,"x-moreflow-opaque":{"reason":"DataForSEO Lighthouse task identifier; read back only through marketing.seo.pageSpeedChecks.update to collect the result."},"type":"string"},"metrics":{"nullable":true,"type":"object","properties":{"performanceScore":{"nullable":true,"type":"number"},"lcpMs":{"nullable":true,"type":"number"},"clsScore":{"nullable":true,"type":"number"},"tbtMs":{"nullable":true,"type":"number"},"fcpMs":{"nullable":true,"type":"number"},"ttfbMs":{"nullable":true,"type":"number"}},"required":["performanceScore","lcpMs","clsScore","tbtMs","fcpMs","ttfbMs"],"additionalProperties":false},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Exact provider accounting cost in USD micro-cents; 10,000 micro-cents equal one cent."},"currency":{"type":"string","enum":["USD"]},"requestedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"measuredAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"nullable":true,"type":"string"}},"required":["id","runId","siteDomain","url","device","status","taskId","metrics","costCents","costMicroCents","currency","requestedAt","measuredAt","error"],"additionalProperties":false}},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Exact provider accounting cost in USD micro-cents; 10,000 micro-cents equal one cent."},"currency":{"type":"string","enum":["USD"]},"complete":{"type":"boolean"},"replay":{"type":"boolean"}},"required":["id","siteDomain","status","requestedAt","completedAt","auditId","results","costCents","costMicroCents","currency","complete","replay"],"additionalProperties":false},"OperationMarketingSeoPageSpeedChecksCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PAGE_SPEED_URL_OUTSIDE_SITE","SEO_PAGE_SPEED_RUN_NOT_FOUND","SEO_PAGE_SPEED_PROVIDER_UNAVAILABLE","SEO_PAGE_SPEED_RUN_FAILED","AI_QUOTA_EXCEEDED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPageSpeedChecksCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoPageSpeedChecksCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoPageSpeedChecksUpdateInput":{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["runId"],"additionalProperties":false},"OperationMarketingSeoPageSpeedChecksUpdateOutput":{"type":"object","properties":{"id":{"type":"string"},"siteDomain":{"type":"string"},"status":{"type":"string","enum":["queued","completed"]},"requestedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"auditId":{"nullable":true,"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"runId":{"type":"string"},"siteDomain":{"type":"string"},"url":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"status":{"type":"string","enum":["queued","completed","failed"]},"taskId":{"nullable":true,"x-moreflow-opaque":{"reason":"DataForSEO Lighthouse task identifier; read back only through marketing.seo.pageSpeedChecks.update to collect the result."},"type":"string"},"metrics":{"nullable":true,"type":"object","properties":{"performanceScore":{"nullable":true,"type":"number"},"lcpMs":{"nullable":true,"type":"number"},"clsScore":{"nullable":true,"type":"number"},"tbtMs":{"nullable":true,"type":"number"},"fcpMs":{"nullable":true,"type":"number"},"ttfbMs":{"nullable":true,"type":"number"}},"required":["performanceScore","lcpMs","clsScore","tbtMs","fcpMs","ttfbMs"],"additionalProperties":false},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Exact provider accounting cost in USD micro-cents; 10,000 micro-cents equal one cent."},"currency":{"type":"string","enum":["USD"]},"requestedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"measuredAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"nullable":true,"type":"string"}},"required":["id","runId","siteDomain","url","device","status","taskId","metrics","costCents","costMicroCents","currency","requestedAt","measuredAt","error"],"additionalProperties":false}},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Exact provider accounting cost in USD micro-cents; 10,000 micro-cents equal one cent."},"currency":{"type":"string","enum":["USD"]},"complete":{"type":"boolean"},"replay":{"type":"boolean"}},"required":["id","siteDomain","status","requestedAt","completedAt","auditId","results","costCents","costMicroCents","currency","complete","replay"],"additionalProperties":false},"OperationMarketingSeoPageSpeedChecksUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PAGE_SPEED_RUN_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPageSpeedChecksUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoPageSpeedChecksUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoPageSpeedEstimatesGetInput":{"type":"object","properties":{"siteDomain":{"type":"string","minLength":1,"maxLength":8000,"description":"Bare site domain, for example acme.example. Pages must belong to this host."},"urls":{"default":[],"description":"Pages to measure, up to five. Empty means the pages of the latest audit findings for the site, or its home page.","maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}},"devices":{"default":["mobile","desktop"],"minItems":1,"maxItems":2,"type":"array","items":{"type":"string","enum":["desktop","mobile"]}}},"required":["siteDomain"],"additionalProperties":false},"OperationMarketingSeoPageSpeedEstimatesGetOutput":{"type":"object","properties":{"id":{"type":"string"},"pageCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"deviceCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"taskCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"estimatedCostCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"estimatedCostMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"estimatedChargeCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"chargeCurrency":{"type":"string","enum":["EUR"]},"estimatedChargeMicroEuros":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"ceilingCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pages":{"type":"array","items":{"type":"string"}}},"required":["id","pageCount","deviceCount","taskCount","estimatedCostCents","estimatedCostMicroCents","currency","estimatedChargeCents","chargeCurrency","estimatedChargeMicroEuros","ceilingCents","pages"],"additionalProperties":false},"OperationMarketingSeoPageSpeedEstimatesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PAGE_SPEED_URL_OUTSIDE_SITE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPageSpeedEstimatesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoPageSpeedEstimatesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoPageSpeedResultsListInput":{"type":"object","properties":{"siteDomain":{"type":"string","minLength":1,"maxLength":8000},"url":{"type":"string","minLength":1,"maxLength":8000},"device":{"type":"string","enum":["desktop","mobile"]},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":1024}},"additionalProperties":false},"OperationMarketingSeoPageSpeedResultsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"runId":{"type":"string"},"siteDomain":{"type":"string"},"url":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"status":{"type":"string","enum":["queued","completed","failed"]},"taskId":{"nullable":true,"x-moreflow-opaque":{"reason":"DataForSEO Lighthouse task identifier; read back only through marketing.seo.pageSpeedChecks.update to collect the result."},"type":"string"},"metrics":{"nullable":true,"type":"object","properties":{"performanceScore":{"nullable":true,"type":"number"},"lcpMs":{"nullable":true,"type":"number"},"clsScore":{"nullable":true,"type":"number"},"tbtMs":{"nullable":true,"type":"number"},"fcpMs":{"nullable":true,"type":"number"},"ttfbMs":{"nullable":true,"type":"number"}},"required":["performanceScore","lcpMs","clsScore","tbtMs","fcpMs","ttfbMs"],"additionalProperties":false},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Exact provider accounting cost in USD micro-cents; 10,000 micro-cents equal one cent."},"currency":{"type":"string","enum":["USD"]},"requestedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"measuredAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"nullable":true,"type":"string"}},"required":["id","runId","siteDomain","url","device","status","taskId","metrics","costCents","costMicroCents","currency","requestedAt","measuredAt","error"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoPageSpeedResultsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPageSpeedResultsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoPageSpeedResultsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoPerformanceComparisonsCreateInput":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1},"scopeKey":{"type":"string","minLength":1},"baselinePeriod":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"]},"currentPeriod":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"]},"publication":{"type":"object","properties":{"state":{"type":"string","enum":["pending","live","unknown","blocked"]},"canonicalUrl":{"nullable":true,"type":"string"},"evidenceId":{"nullable":true,"type":"string"},"sourceOperationId":{"nullable":true,"type":"string"},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disclosure":{"type":"string","minLength":1}},"required":["state","canonicalUrl","evidenceId","sourceOperationId","verifiedAt","disclosure"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl","scopeKey","baselinePeriod","currentPeriod","publication"]},"OperationMarketingSeoPerformanceComparisonsCreateOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteUrl":{"type":"string","minLength":1},"scopeKey":{"type":"string","minLength":1},"baselinePeriod":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"currentPeriod":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"comparison":{"type":"object","properties":{"status":{"type":"string","enum":["measured","partial","stale","unknown","not_ready"]},"reason":{"type":"string","enum":["publication_not_live","waiting_for_post_publication_window","equivalent_period_required","insufficient_observations","freshness_limit_exceeded","partial_provider_data","unknown_provider_data","ready"]},"siteUrl":{"type":"string"},"scopeKey":{"type":"string"},"baseline":{"type":"object","properties":{"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"aggregate":{"type":"object","properties":{"observed":{"type":"boolean"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown"]},"observedRows":{"type":"integer","minimum":0,"maximum":9007199254740991},"expectedRows":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"denominator":{"type":"string","enum":["provider_rows","requested_scope","unknown"]},"disclosure":{"type":"string","minLength":1}},"required":["status","observedRows","expectedRows","denominator","disclosure"],"additionalProperties":false},"freshness":{"type":"object","properties":{"state":{"type":"string","enum":["fresh","stale","unknown"]},"collectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"maxAgeHours":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["state","collectedAt","maxAgeHours"],"additionalProperties":false},"provenance":{"type":"array","items":{"type":"object","properties":{"sourceOperationId":{"type":"string","minLength":1},"sourceResultId":{"type":"string","minLength":1}},"required":["sourceOperationId","sourceResultId"],"additionalProperties":false}}},"required":["observed","metrics","rowCount","coverage","freshness","provenance"],"additionalProperties":false}},"required":["period","aggregate"],"additionalProperties":false},"current":{"type":"object","properties":{"period":{"type":"object","properties":{"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["fromDate","toDate"],"additionalProperties":false},"aggregate":{"type":"object","properties":{"observed":{"type":"boolean"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown"]},"observedRows":{"type":"integer","minimum":0,"maximum":9007199254740991},"expectedRows":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"denominator":{"type":"string","enum":["provider_rows","requested_scope","unknown"]},"disclosure":{"type":"string","minLength":1}},"required":["status","observedRows","expectedRows","denominator","disclosure"],"additionalProperties":false},"freshness":{"type":"object","properties":{"state":{"type":"string","enum":["fresh","stale","unknown"]},"collectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"maxAgeHours":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["state","collectedAt","maxAgeHours"],"additionalProperties":false},"provenance":{"type":"array","items":{"type":"object","properties":{"sourceOperationId":{"type":"string","minLength":1},"sourceResultId":{"type":"string","minLength":1}},"required":["sourceOperationId","sourceResultId"],"additionalProperties":false}}},"required":["observed","metrics","rowCount","coverage","freshness","provenance"],"additionalProperties":false}},"required":["period","aggregate"],"additionalProperties":false},"changes":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"publication":{"type":"object","properties":{"state":{"type":"string","enum":["pending","live","unknown","blocked"]},"canonicalUrl":{"nullable":true,"type":"string"},"evidenceId":{"nullable":true,"type":"string"},"sourceOperationId":{"nullable":true,"type":"string"},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disclosure":{"type":"string","minLength":1}},"required":["state","canonicalUrl","evidenceId","sourceOperationId","verifiedAt","disclosure"],"additionalProperties":false},"disclosure":{"type":"object","properties":{"interpretation":{"type":"string","enum":["descriptive_comparison_not_causality"]},"equivalentPeriods":{"type":"boolean"},"freshness":{"type":"string"},"coverage":{"type":"string"}},"required":["interpretation","equivalentPeriods","freshness","coverage"],"additionalProperties":false}},"required":["status","reason","siteUrl","scopeKey","baseline","current","changes","publication","disclosure"],"additionalProperties":false},"idempotencyKey":{"type":"string","minLength":1},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"replayed":{"type":"boolean"}},"required":["id","accountId","siteUrl","scopeKey","baselinePeriod","currentPeriod","comparison","idempotencyKey","recordedAt","replayed"],"additionalProperties":false},"OperationMarketingSeoPerformanceComparisonsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","IDEMPOTENCY_KEY_REQUIRED","SEO_PERFORMANCE_COMPARISON_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPerformanceComparisonsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoPerformanceComparisonsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoPerformanceObservationsImportInput":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"dimensions":{"default":["date"],"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["date","query","page","country","device","search_appearance"]}},"searchType":{"default":"web","type":"string","enum":["web","image","video","news","discover","google_news"]},"expectedRows":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteUrl","fromDate","toDate"]},"OperationMarketingSeoPerformanceObservationsImportOutput":{"type":"object","properties":{"replayed":{"type":"boolean"},"records":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteUrl":{"type":"string","minLength":1},"searchType":{"type":"string","enum":["web","image","video","news","discover","google_news"]},"dimensions":{"type":"array","items":{"type":"string","enum":["date","query","page","country","device","search_appearance"]}},"scope":{"type":"object","additionalProperties":{"nullable":true,"type":"string"}},"scopeKey":{"type":"string","minLength":1},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown"]},"observedRows":{"type":"integer","minimum":0,"maximum":9007199254740991},"expectedRows":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"denominator":{"type":"string","enum":["provider_rows","requested_scope","unknown"]},"disclosure":{"type":"string","minLength":1}},"required":["status","observedRows","expectedRows","denominator","disclosure"],"additionalProperties":false},"freshness":{"type":"object","properties":{"state":{"type":"string","enum":["fresh","stale","unknown"]},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"maxAgeHours":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["state","collectedAt","maxAgeHours"],"additionalProperties":false},"provenance":{"type":"object","properties":{"provider":{"type":"string","enum":["google_search_console"]},"sourceOperationId":{"type":"string","minLength":1},"sourceResultId":{"type":"string","minLength":1},"propertyUrl":{"type":"string","minLength":1},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"requestFingerprint":{"default":null,"nullable":true,"type":"string"},"providerRequestId":{"default":null,"nullable":true,"type":"string"}},"required":["provider","sourceOperationId","sourceResultId","propertyUrl","collectedAt","requestFingerprint","providerRequestId"],"additionalProperties":false},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","siteUrl","searchType","dimensions","scope","scopeKey","fromDate","toDate","metrics","coverage","freshness","provenance","recordedAt"],"additionalProperties":false}}},"required":["replayed","records"],"additionalProperties":false},"OperationMarketingSeoPerformanceObservationsImportError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","IDEMPOTENCY_KEY_REQUIRED","SEO_PERFORMANCE_INGESTION_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPerformanceObservationsImportErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportErrorDefinitionSchema0"}}]},"OperationMarketingSeoPerformanceObservationsImportErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportErrorDefinitionSchema1"}}]},"OperationMarketingSeoPerformanceObservationsListInput":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"scopeKey":{"type":"string"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string"}},"required":["siteUrl"]},"OperationMarketingSeoPerformanceObservationsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"siteUrl":{"type":"string","minLength":1},"searchType":{"type":"string","enum":["web","image","video","news","discover","google_news"]},"dimensions":{"type":"array","items":{"type":"string","enum":["date","query","page","country","device","search_appearance"]}},"scope":{"type":"object","additionalProperties":{"nullable":true,"type":"string"}},"scopeKey":{"type":"string","minLength":1},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"metrics":{"type":"object","properties":{"clicks":{"nullable":true,"type":"number"},"impressions":{"nullable":true,"type":"number"},"ctr":{"nullable":true,"type":"number"},"position":{"nullable":true,"type":"number"}},"required":["clicks","impressions","ctr","position"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown"]},"observedRows":{"type":"integer","minimum":0,"maximum":9007199254740991},"expectedRows":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"denominator":{"type":"string","enum":["provider_rows","requested_scope","unknown"]},"disclosure":{"type":"string","minLength":1}},"required":["status","observedRows","expectedRows","denominator","disclosure"],"additionalProperties":false},"freshness":{"type":"object","properties":{"state":{"type":"string","enum":["fresh","stale","unknown"]},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"maxAgeHours":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["state","collectedAt","maxAgeHours"],"additionalProperties":false},"provenance":{"type":"object","properties":{"provider":{"type":"string","enum":["google_search_console"]},"sourceOperationId":{"type":"string","minLength":1},"sourceResultId":{"type":"string","minLength":1},"propertyUrl":{"type":"string","minLength":1},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"requestFingerprint":{"default":null,"nullable":true,"type":"string"},"providerRequestId":{"default":null,"nullable":true,"type":"string"}},"required":["provider","sourceOperationId","sourceResultId","propertyUrl","collectedAt","requestFingerprint","providerRequestId"],"additionalProperties":false},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","siteUrl","searchType","dimensions","scope","scopeKey","fromDate","toDate","metrics","coverage","freshness","provenance","recordedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoPerformanceObservationsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPerformanceObservationsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoPerformanceObservationsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoPlansGetInput":{"type":"object","properties":{"planId":{"type":"string","minLength":1,"maxLength":255}},"required":["planId"],"additionalProperties":false},"OperationMarketingSeoPlansGetOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"siteId":{"type":"string","minLength":1,"maxLength":255},"evidenceDigest":{"type":"string","minLength":1,"maxLength":255},"evidenceSummary":{"nullable":true,"type":"object","properties":{"digest":{"type":"string","minLength":1,"maxLength":255},"truncated":{"type":"boolean"},"sourceCounts":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"required":["digest","truncated","sourceCounts"],"additionalProperties":false},"mode":{"type":"string","enum":["approve_first","autopilot","full_autonomy"]},"status":{"type":"string","enum":["draft","running","completed","failed","canceled"]},"proposals":{"maxItems":12,"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetOutputDefinitionSchema0"}},"accepted":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetOutputDefinitionSchema1"}},"rejected":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"proposal":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetOutputDefinitionSchema2"},"code":{"type":"string","enum":["UNKNOWN_EXECUTOR","INVALID_PARAMS","DUPLICATE","OPT_IN_REQUIRED","REPOSITORY_REQUIRED"]},"reasonCode":{"type":"string","enum":["UNKNOWN_EXECUTOR","INVALID_PARAMS","DUPLICATE","OPT_IN_REQUIRED","REPOSITORY_REQUIRED"]},"message":{"type":"string","minLength":1,"maxLength":500},"executorId":{"type":"string","minLength":1,"maxLength":255},"dedupeKey":{"type":"string","minLength":1,"maxLength":255}},"required":["index","proposal","code","reasonCode","message"],"additionalProperties":false},{"type":"object","properties":{"pageUrl":{"type":"string"},"playbook":{"type":"string"},"reason":{"type":"string"},"recovery":{"type":"string"}},"required":["pageUrl","playbook","reason"],"additionalProperties":false}]}},"actionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastRunAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"nullable":true,"type":"string"}},"required":["id","siteId","evidenceDigest","evidenceSummary","mode","status","proposals","accepted","rejected","actionIds","createdAt","updatedAt","lastRunAt","error"],"additionalProperties":false},"OperationMarketingSeoPlansGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoPlansGetOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetOutputDefinitionSchema1"}}]},"OperationMarketingSeoPlansGetOutputDefinitionSchema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetOutputDefinitionSchema2"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetOutputDefinitionSchema2"}}]},"OperationMarketingSeoPlansGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PLAN_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPlansGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoPlansGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoPlansLatestGetInput":{"type":"object","properties":{"siteId":{"type":"string","minLength":1,"maxLength":255}},"required":["siteId"],"additionalProperties":false},"OperationMarketingSeoPlansLatestGetOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"siteId":{"type":"string","minLength":1,"maxLength":255},"evidenceDigest":{"type":"string","minLength":1,"maxLength":255},"evidenceSummary":{"nullable":true,"type":"object","properties":{"digest":{"type":"string","minLength":1,"maxLength":255},"truncated":{"type":"boolean"},"sourceCounts":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"required":["digest","truncated","sourceCounts"],"additionalProperties":false},"mode":{"type":"string","enum":["approve_first","autopilot","full_autonomy"]},"status":{"type":"string","enum":["draft","running","completed","failed","canceled"]},"proposals":{"maxItems":12,"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetOutputDefinitionSchema0"}},"accepted":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetOutputDefinitionSchema1"}},"rejected":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"proposal":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetOutputDefinitionSchema2"},"code":{"type":"string","enum":["UNKNOWN_EXECUTOR","INVALID_PARAMS","DUPLICATE","OPT_IN_REQUIRED","REPOSITORY_REQUIRED"]},"reasonCode":{"type":"string","enum":["UNKNOWN_EXECUTOR","INVALID_PARAMS","DUPLICATE","OPT_IN_REQUIRED","REPOSITORY_REQUIRED"]},"message":{"type":"string","minLength":1,"maxLength":500},"executorId":{"type":"string","minLength":1,"maxLength":255},"dedupeKey":{"type":"string","minLength":1,"maxLength":255}},"required":["index","proposal","code","reasonCode","message"],"additionalProperties":false},{"type":"object","properties":{"pageUrl":{"type":"string"},"playbook":{"type":"string"},"reason":{"type":"string"},"recovery":{"type":"string"}},"required":["pageUrl","playbook","reason"],"additionalProperties":false}]}},"actionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastRunAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"nullable":true,"type":"string"}},"required":["id","siteId","evidenceDigest","evidenceSummary","mode","status","proposals","accepted","rejected","actionIds","createdAt","updatedAt","lastRunAt","error"],"additionalProperties":false},"OperationMarketingSeoPlansLatestGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoPlansLatestGetOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetOutputDefinitionSchema1"}}]},"OperationMarketingSeoPlansLatestGetOutputDefinitionSchema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetOutputDefinitionSchema2"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetOutputDefinitionSchema2"}}]},"OperationMarketingSeoPlansLatestGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PLAN_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPlansLatestGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoPlansLatestGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoPlansListInput":{"type":"object","properties":{"siteId":{"type":"string","minLength":1,"maxLength":255},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":1024}},"additionalProperties":false},"OperationMarketingSeoPlansListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"siteId":{"type":"string","minLength":1,"maxLength":255},"evidenceDigest":{"type":"string","minLength":1,"maxLength":255},"evidenceSummary":{"nullable":true,"type":"object","properties":{"digest":{"type":"string","minLength":1,"maxLength":255},"truncated":{"type":"boolean"},"sourceCounts":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"required":["digest","truncated","sourceCounts"],"additionalProperties":false},"mode":{"type":"string","enum":["approve_first","autopilot","full_autonomy"]},"status":{"type":"string","enum":["draft","running","completed","failed","canceled"]},"proposals":{"maxItems":12,"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListOutputDefinitionSchema0"}},"accepted":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListOutputDefinitionSchema1"}},"rejected":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"proposal":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListOutputDefinitionSchema2"},"code":{"type":"string","enum":["UNKNOWN_EXECUTOR","INVALID_PARAMS","DUPLICATE","OPT_IN_REQUIRED","REPOSITORY_REQUIRED"]},"reasonCode":{"type":"string","enum":["UNKNOWN_EXECUTOR","INVALID_PARAMS","DUPLICATE","OPT_IN_REQUIRED","REPOSITORY_REQUIRED"]},"message":{"type":"string","minLength":1,"maxLength":500},"executorId":{"type":"string","minLength":1,"maxLength":255},"dedupeKey":{"type":"string","minLength":1,"maxLength":255}},"required":["index","proposal","code","reasonCode","message"],"additionalProperties":false},{"type":"object","properties":{"pageUrl":{"type":"string"},"playbook":{"type":"string"},"reason":{"type":"string"},"recovery":{"type":"string"}},"required":["pageUrl","playbook","reason"],"additionalProperties":false}]}},"actionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastRunAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"nullable":true,"type":"string"}},"required":["id","siteId","evidenceDigest","evidenceSummary","mode","status","proposals","accepted","rejected","actionIds","createdAt","updatedAt","lastRunAt","error"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoPlansListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListOutputDefinitionSchema0"}}]},"OperationMarketingSeoPlansListOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListOutputDefinitionSchema1"}}]},"OperationMarketingSeoPlansListOutputDefinitionSchema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListOutputDefinitionSchema2"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListOutputDefinitionSchema2"}}]},"OperationMarketingSeoPlansListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPlansListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListErrorDefinitionSchema0"}}]},"OperationMarketingSeoPlansListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListErrorDefinitionSchema1"}}]},"OperationMarketingSeoPlansProposeInput":{"type":"object","properties":{"siteId":{"type":"string","minLength":1,"maxLength":255},"idempotencyKey":{"type":"string","minLength":1,"maxLength":255},"mode":{"type":"string","enum":["approve_first","autopilot"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoPlansProposeOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"siteId":{"type":"string","minLength":1,"maxLength":255},"evidenceDigest":{"type":"string","minLength":1,"maxLength":255},"evidenceSummary":{"nullable":true,"type":"object","properties":{"digest":{"type":"string","minLength":1,"maxLength":255},"truncated":{"type":"boolean"},"sourceCounts":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"required":["digest","truncated","sourceCounts"],"additionalProperties":false},"mode":{"type":"string","enum":["approve_first","autopilot","full_autonomy"]},"status":{"type":"string","enum":["draft","running","completed","failed","canceled"]},"proposals":{"maxItems":12,"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeOutputDefinitionSchema0"}},"accepted":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeOutputDefinitionSchema1"}},"rejected":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"proposal":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeOutputDefinitionSchema2"},"code":{"type":"string","enum":["UNKNOWN_EXECUTOR","INVALID_PARAMS","DUPLICATE","OPT_IN_REQUIRED","REPOSITORY_REQUIRED"]},"reasonCode":{"type":"string","enum":["UNKNOWN_EXECUTOR","INVALID_PARAMS","DUPLICATE","OPT_IN_REQUIRED","REPOSITORY_REQUIRED"]},"message":{"type":"string","minLength":1,"maxLength":500},"executorId":{"type":"string","minLength":1,"maxLength":255},"dedupeKey":{"type":"string","minLength":1,"maxLength":255}},"required":["index","proposal","code","reasonCode","message"],"additionalProperties":false},{"type":"object","properties":{"pageUrl":{"type":"string"},"playbook":{"type":"string"},"reason":{"type":"string"},"recovery":{"type":"string"}},"required":["pageUrl","playbook","reason"],"additionalProperties":false}]}},"actionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastRunAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"nullable":true,"type":"string"},"evidence":{"type":"object","properties":{"digest":{"type":"string"},"truncated":{"type":"boolean"}},"required":["digest","truncated"],"additionalProperties":false}},"required":["id","siteId","evidenceDigest","evidenceSummary","mode","status","proposals","accepted","rejected","actionIds","createdAt","updatedAt","lastRunAt","error","evidence"],"additionalProperties":false},"OperationMarketingSeoPlansProposeOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeOutputDefinitionSchema0"}}]},"OperationMarketingSeoPlansProposeOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeOutputDefinitionSchema1"}}]},"OperationMarketingSeoPlansProposeOutputDefinitionSchema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeOutputDefinitionSchema2"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeOutputDefinitionSchema2"}}]},"OperationMarketingSeoPlansProposeError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PLAN_SPONSOR_REQUIRED","SEO_PLANNER_UNAVAILABLE","AI_QUOTA_EXCEEDED","SEO_PLANNER_FAILED","SEO_PLANNER_INVALID_OUTPUT","SEO_PLAN_IDEMPOTENCY_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPlansProposeErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeErrorDefinitionSchema0"}}]},"OperationMarketingSeoPlansProposeErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeErrorDefinitionSchema1"}}]},"OperationMarketingSeoPlansRunInput":{"type":"object","properties":{"planId":{"type":"string","minLength":1,"maxLength":255},"idempotencyKey":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["planId","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoPlansRunOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":255},"siteId":{"type":"string","minLength":1,"maxLength":255},"evidenceDigest":{"type":"string","minLength":1,"maxLength":255},"evidenceSummary":{"nullable":true,"type":"object","properties":{"digest":{"type":"string","minLength":1,"maxLength":255},"truncated":{"type":"boolean"},"sourceCounts":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"required":["digest","truncated","sourceCounts"],"additionalProperties":false},"mode":{"type":"string","enum":["approve_first","autopilot","full_autonomy"]},"status":{"type":"string","enum":["draft","running","completed","failed","canceled"]},"proposals":{"maxItems":12,"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunOutputDefinitionSchema0"}},"accepted":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunOutputDefinitionSchema1"}},"rejected":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"proposal":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunOutputDefinitionSchema2"},"code":{"type":"string","enum":["UNKNOWN_EXECUTOR","INVALID_PARAMS","DUPLICATE","OPT_IN_REQUIRED","REPOSITORY_REQUIRED"]},"reasonCode":{"type":"string","enum":["UNKNOWN_EXECUTOR","INVALID_PARAMS","DUPLICATE","OPT_IN_REQUIRED","REPOSITORY_REQUIRED"]},"message":{"type":"string","minLength":1,"maxLength":500},"executorId":{"type":"string","minLength":1,"maxLength":255},"dedupeKey":{"type":"string","minLength":1,"maxLength":255}},"required":["index","proposal","code","reasonCode","message"],"additionalProperties":false},{"type":"object","properties":{"pageUrl":{"type":"string"},"playbook":{"type":"string"},"reason":{"type":"string"},"recovery":{"type":"string"}},"required":["pageUrl","playbook","reason"],"additionalProperties":false}]}},"actionIds":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastRunAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"nullable":true,"type":"string"},"started":{"type":"array","items":{"type":"string"}},"skipped":{"type":"array","items":{"type":"object","properties":{"actionId":{"type":"string"},"reason":{"type":"string"}},"required":["actionId","reason"],"additionalProperties":false}}},"required":["id","siteId","evidenceDigest","evidenceSummary","mode","status","proposals","accepted","rejected","actionIds","createdAt","updatedAt","lastRunAt","error","started","skipped"],"additionalProperties":false},"OperationMarketingSeoPlansRunOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunOutputDefinitionSchema0"}}]},"OperationMarketingSeoPlansRunOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunOutputDefinitionSchema1"}}]},"OperationMarketingSeoPlansRunOutputDefinitionSchema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunOutputDefinitionSchema2"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunOutputDefinitionSchema2"}}]},"OperationMarketingSeoPlansRunError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PLAN_NOT_FOUND","SEO_PLAN_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPlansRunErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunErrorDefinitionSchema0"}}]},"OperationMarketingSeoPlansRunErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunErrorDefinitionSchema1"}}]},"OperationMarketingSeoPublicationsCreateInput":{"type":"object","properties":{"articleId":{"nullable":true,"type":"string"},"articleRevisionId":{"nullable":true,"type":"string"},"targetId":{"type":"string","minLength":1},"repositoryChangeId":{"nullable":true,"type":"string"},"idempotencyKey":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["targetId","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoPublicationsCreateOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"articleId":{"nullable":true,"type":"string"},"articleRevisionId":{"nullable":true,"type":"string"},"targetId":{"type":"string"},"repositoryChangeId":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["prepared","approved","merged","deploy_not_seen","live","measuring","rolled_back","failed","external"]},"source":{"type":"string","enum":["repository_provider","deployment_provider","user_reported"]},"commitSha":{"nullable":true,"type":"string"},"liveUrl":{"nullable":true,"type":"string","format":"uri"},"deploymentId":{"nullable":true,"type":"string"},"lastEventId":{"nullable":true,"type":"string"},"lastEventAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failureReason":{"nullable":true,"type":"string"},"userReported":{"type":"boolean"},"idempotencyKey":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verification":{"default":null,"nullable":true,"type":"object","properties":{"deploymentId":{"nullable":true,"description":"Production deployment id; null when the website has no deployment provider and freshness uses the merge commit time.","type":"string"},"deploymentProvider":{"default":null,"nullable":true,"type":"string","enum":["vercel","none"]},"commitSha":{"type":"string"},"canonicalUrl":{"type":"string"},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"freshSince":{"default":null,"description":"Deployment ready time or merge commit time used as the freshness baseline.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"baselineId":{"type":"string","x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."}},"articleRevisionId":{"nullable":true,"type":"string"},"reviewedCode":{"default":null,"nullable":true,"type":"object","properties":{"repositoryChangeId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Provider-confirmed change binding; inspect the linked repository change on this publication."}},"baseSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"reviewedHeadSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourcePath":{"type":"string","minLength":1,"maxLength":1000},"beforeSourceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"afterSourceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["repositoryChangeId","baseSha","reviewedHeadSha","sourcePath","beforeSourceSha256","afterSourceSha256"],"additionalProperties":false}},"required":["deploymentId","deploymentProvider","commitSha","canonicalUrl","fetchedAt","freshSince","baselineId","articleRevisionId","reviewedCode"],"additionalProperties":false},"stateTimestamps":{"default":null,"description":"First time the publication entered each state.","nullable":true,"type":"object","additionalProperties":{"type":"string"}},"liveCheck":{"default":null,"description":"Bounded public-page verification schedule after the merge.","nullable":true,"type":"object","properties":{"mergedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastCheckedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastReason":{"nullable":true,"type":"string"},"nextCheckAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"windowEndsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["mergedAt","attempts","lastCheckedAt","lastReason","nextCheckAt","windowEndsAt"],"additionalProperties":false},"validation":{"default":null,"description":"How the merged change was validated. structured_reapply_parse: no repository checks, Moreflow re-applied and parsed the edit. post_deploy_watch: a full-autonomy change without repository checks; Moreflow watches the deployment and page status and reverts automatically on breakage.","nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["repository_checks","structured_reapply_parse","post_deploy_watch"]},"repositoryChecks":{"type":"string","enum":["configured","none"]}},"required":["kind","repositoryChecks"],"additionalProperties":false},"rollback":{"default":null,"description":"The merged revert that rolled this publication back.","nullable":true,"type":"object","properties":{"repositoryChangeId":{"type":"string"},"mergeSha":{"nullable":true,"type":"string"}},"required":["repositoryChangeId","mergeSha"],"additionalProperties":false},"nextAction":{"nullable":true,"type":"object","properties":{"operation":{"type":"string","minLength":1},"reason":{"type":"string","minLength":1}},"required":["operation","reason"],"additionalProperties":false}},"required":["id","accountId","articleId","articleRevisionId","targetId","repositoryChangeId","status","source","commitSha","liveUrl","deploymentId","lastEventId","lastEventAt","failureReason","userReported","idempotencyKey","createdAt","updatedAt","verification","stateTimestamps","liveCheck","validation","rollback","nextAction"],"additionalProperties":false},"OperationMarketingSeoPublicationsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPublicationsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoPublicationsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoPublicationsGetInput":{"type":"object","properties":{"publicationId":{"type":"string","minLength":1}},"required":["publicationId"],"additionalProperties":false},"OperationMarketingSeoPublicationsGetOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"articleId":{"nullable":true,"type":"string"},"articleRevisionId":{"nullable":true,"type":"string"},"targetId":{"type":"string"},"repositoryChangeId":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["prepared","approved","merged","deploy_not_seen","live","measuring","rolled_back","failed","external"]},"source":{"type":"string","enum":["repository_provider","deployment_provider","user_reported"]},"commitSha":{"nullable":true,"type":"string"},"liveUrl":{"nullable":true,"type":"string","format":"uri"},"deploymentId":{"nullable":true,"type":"string"},"lastEventId":{"nullable":true,"type":"string"},"lastEventAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failureReason":{"nullable":true,"type":"string"},"userReported":{"type":"boolean"},"idempotencyKey":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verification":{"default":null,"nullable":true,"type":"object","properties":{"deploymentId":{"nullable":true,"description":"Production deployment id; null when the website has no deployment provider and freshness uses the merge commit time.","type":"string"},"deploymentProvider":{"default":null,"nullable":true,"type":"string","enum":["vercel","none"]},"commitSha":{"type":"string"},"canonicalUrl":{"type":"string"},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"freshSince":{"default":null,"description":"Deployment ready time or merge commit time used as the freshness baseline.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"baselineId":{"type":"string","x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."}},"articleRevisionId":{"nullable":true,"type":"string"},"reviewedCode":{"default":null,"nullable":true,"type":"object","properties":{"repositoryChangeId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Provider-confirmed change binding; inspect the linked repository change on this publication."}},"baseSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"reviewedHeadSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourcePath":{"type":"string","minLength":1,"maxLength":1000},"beforeSourceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"afterSourceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["repositoryChangeId","baseSha","reviewedHeadSha","sourcePath","beforeSourceSha256","afterSourceSha256"],"additionalProperties":false}},"required":["deploymentId","deploymentProvider","commitSha","canonicalUrl","fetchedAt","freshSince","baselineId","articleRevisionId","reviewedCode"],"additionalProperties":false},"stateTimestamps":{"default":null,"description":"First time the publication entered each state.","nullable":true,"type":"object","additionalProperties":{"type":"string"}},"liveCheck":{"default":null,"description":"Bounded public-page verification schedule after the merge.","nullable":true,"type":"object","properties":{"mergedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastCheckedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastReason":{"nullable":true,"type":"string"},"nextCheckAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"windowEndsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["mergedAt","attempts","lastCheckedAt","lastReason","nextCheckAt","windowEndsAt"],"additionalProperties":false},"validation":{"default":null,"description":"How the merged change was validated. structured_reapply_parse: no repository checks, Moreflow re-applied and parsed the edit. post_deploy_watch: a full-autonomy change without repository checks; Moreflow watches the deployment and page status and reverts automatically on breakage.","nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["repository_checks","structured_reapply_parse","post_deploy_watch"]},"repositoryChecks":{"type":"string","enum":["configured","none"]}},"required":["kind","repositoryChecks"],"additionalProperties":false},"rollback":{"default":null,"description":"The merged revert that rolled this publication back.","nullable":true,"type":"object","properties":{"repositoryChangeId":{"type":"string"},"mergeSha":{"nullable":true,"type":"string"}},"required":["repositoryChangeId","mergeSha"],"additionalProperties":false},"nextAction":{"nullable":true,"type":"object","properties":{"operation":{"type":"string","minLength":1},"reason":{"type":"string","minLength":1}},"required":["operation","reason"],"additionalProperties":false}},"required":["id","accountId","articleId","articleRevisionId","targetId","repositoryChangeId","status","source","commitSha","liveUrl","deploymentId","lastEventId","lastEventAt","failureReason","userReported","idempotencyKey","createdAt","updatedAt","verification","stateTimestamps","liveCheck","validation","rollback","nextAction"],"additionalProperties":false},"OperationMarketingSeoPublicationsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PUBLICATION_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPublicationsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoPublicationsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoPublicationsListInput":{"type":"object","properties":{"statuses":{"maxItems":10,"type":"array","items":{"type":"string","enum":["prepared","approved","merged","deploy_not_seen","live","measuring","rolled_back","failed","external"]}},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string"}},"additionalProperties":false},"OperationMarketingSeoPublicationsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"articleId":{"nullable":true,"type":"string"},"articleRevisionId":{"nullable":true,"type":"string"},"targetId":{"type":"string"},"repositoryChangeId":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["prepared","approved","merged","deploy_not_seen","live","measuring","rolled_back","failed","external"]},"source":{"type":"string","enum":["repository_provider","deployment_provider","user_reported"]},"commitSha":{"nullable":true,"type":"string"},"liveUrl":{"nullable":true,"type":"string","format":"uri"},"deploymentId":{"nullable":true,"type":"string"},"lastEventId":{"nullable":true,"type":"string"},"lastEventAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failureReason":{"nullable":true,"type":"string"},"userReported":{"type":"boolean"},"idempotencyKey":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verification":{"default":null,"nullable":true,"type":"object","properties":{"deploymentId":{"nullable":true,"description":"Production deployment id; null when the website has no deployment provider and freshness uses the merge commit time.","type":"string"},"deploymentProvider":{"default":null,"nullable":true,"type":"string","enum":["vercel","none"]},"commitSha":{"type":"string"},"canonicalUrl":{"type":"string"},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"freshSince":{"default":null,"description":"Deployment ready time or merge commit time used as the freshness baseline.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"baselineId":{"type":"string","x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."}},"articleRevisionId":{"nullable":true,"type":"string"},"reviewedCode":{"default":null,"nullable":true,"type":"object","properties":{"repositoryChangeId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Provider-confirmed change binding; inspect the linked repository change on this publication."}},"baseSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"reviewedHeadSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourcePath":{"type":"string","minLength":1,"maxLength":1000},"beforeSourceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"afterSourceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["repositoryChangeId","baseSha","reviewedHeadSha","sourcePath","beforeSourceSha256","afterSourceSha256"],"additionalProperties":false}},"required":["deploymentId","deploymentProvider","commitSha","canonicalUrl","fetchedAt","freshSince","baselineId","articleRevisionId","reviewedCode"],"additionalProperties":false},"stateTimestamps":{"default":null,"description":"First time the publication entered each state.","nullable":true,"type":"object","additionalProperties":{"type":"string"}},"liveCheck":{"default":null,"description":"Bounded public-page verification schedule after the merge.","nullable":true,"type":"object","properties":{"mergedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastCheckedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastReason":{"nullable":true,"type":"string"},"nextCheckAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"windowEndsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["mergedAt","attempts","lastCheckedAt","lastReason","nextCheckAt","windowEndsAt"],"additionalProperties":false},"validation":{"default":null,"description":"How the merged change was validated. structured_reapply_parse: no repository checks, Moreflow re-applied and parsed the edit. post_deploy_watch: a full-autonomy change without repository checks; Moreflow watches the deployment and page status and reverts automatically on breakage.","nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["repository_checks","structured_reapply_parse","post_deploy_watch"]},"repositoryChecks":{"type":"string","enum":["configured","none"]}},"required":["kind","repositoryChecks"],"additionalProperties":false},"rollback":{"default":null,"description":"The merged revert that rolled this publication back.","nullable":true,"type":"object","properties":{"repositoryChangeId":{"type":"string"},"mergeSha":{"nullable":true,"type":"string"}},"required":["repositoryChangeId","mergeSha"],"additionalProperties":false}},"required":["id","accountId","articleId","articleRevisionId","targetId","repositoryChangeId","status","source","commitSha","liveUrl","deploymentId","lastEventId","lastEventAt","failureReason","userReported","idempotencyKey","createdAt","updatedAt","verification","stateTimestamps","liveCheck","validation","rollback"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoPublicationsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPublicationsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoPublicationsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoPublicationsReconcileInput":{"type":"object","properties":{"publicationId":{"type":"string","minLength":1},"eventId":{"type":"string","minLength":1},"status":{"type":"string","enum":["prepared","approved","merged","deploy_not_seen","live","measuring","rolled_back","failed","external"]},"source":{"type":"string","enum":["repository_provider","deployment_provider","user_reported"]},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"signature":{"type":"string"},"commitSha":{"nullable":true,"type":"string"},"liveUrl":{"nullable":true,"type":"string","format":"uri"},"deploymentId":{"nullable":true,"type":"string"},"failureReason":{"nullable":true,"type":"string"},"payload":{"allOf":[{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileInputDefinitionSchema0"}]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["publicationId","eventId","status","source","occurredAt"],"additionalProperties":false},"OperationMarketingSeoPublicationsReconcileInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileInputDefinitionSchema0"}}]},"OperationMarketingSeoPublicationsReconcileOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"articleId":{"nullable":true,"type":"string"},"articleRevisionId":{"nullable":true,"type":"string"},"targetId":{"type":"string"},"repositoryChangeId":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["prepared","approved","merged","deploy_not_seen","live","measuring","rolled_back","failed","external"]},"source":{"type":"string","enum":["repository_provider","deployment_provider","user_reported"]},"commitSha":{"nullable":true,"type":"string"},"liveUrl":{"nullable":true,"type":"string","format":"uri"},"deploymentId":{"nullable":true,"type":"string"},"lastEventId":{"nullable":true,"type":"string"},"lastEventAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failureReason":{"nullable":true,"type":"string"},"userReported":{"type":"boolean"},"idempotencyKey":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verification":{"default":null,"nullable":true,"type":"object","properties":{"deploymentId":{"nullable":true,"description":"Production deployment id; null when the website has no deployment provider and freshness uses the merge commit time.","type":"string"},"deploymentProvider":{"default":null,"nullable":true,"type":"string","enum":["vercel","none"]},"commitSha":{"type":"string"},"canonicalUrl":{"type":"string"},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"freshSince":{"default":null,"description":"Deployment ready time or merge commit time used as the freshness baseline.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"baselineId":{"type":"string","x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."}},"articleRevisionId":{"nullable":true,"type":"string"},"reviewedCode":{"default":null,"nullable":true,"type":"object","properties":{"repositoryChangeId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Provider-confirmed change binding; inspect the linked repository change on this publication."}},"baseSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"reviewedHeadSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourcePath":{"type":"string","minLength":1,"maxLength":1000},"beforeSourceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"afterSourceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["repositoryChangeId","baseSha","reviewedHeadSha","sourcePath","beforeSourceSha256","afterSourceSha256"],"additionalProperties":false}},"required":["deploymentId","deploymentProvider","commitSha","canonicalUrl","fetchedAt","freshSince","baselineId","articleRevisionId","reviewedCode"],"additionalProperties":false},"stateTimestamps":{"default":null,"description":"First time the publication entered each state.","nullable":true,"type":"object","additionalProperties":{"type":"string"}},"liveCheck":{"default":null,"description":"Bounded public-page verification schedule after the merge.","nullable":true,"type":"object","properties":{"mergedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastCheckedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastReason":{"nullable":true,"type":"string"},"nextCheckAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"windowEndsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["mergedAt","attempts","lastCheckedAt","lastReason","nextCheckAt","windowEndsAt"],"additionalProperties":false},"validation":{"default":null,"description":"How the merged change was validated. structured_reapply_parse: no repository checks, Moreflow re-applied and parsed the edit. post_deploy_watch: a full-autonomy change without repository checks; Moreflow watches the deployment and page status and reverts automatically on breakage.","nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["repository_checks","structured_reapply_parse","post_deploy_watch"]},"repositoryChecks":{"type":"string","enum":["configured","none"]}},"required":["kind","repositoryChecks"],"additionalProperties":false},"rollback":{"default":null,"description":"The merged revert that rolled this publication back.","nullable":true,"type":"object","properties":{"repositoryChangeId":{"type":"string"},"mergeSha":{"nullable":true,"type":"string"}},"required":["repositoryChangeId","mergeSha"],"additionalProperties":false},"applied":{"type":"boolean"},"reconciliation":{"type":"string","enum":["applied","duplicate","out_of_order","terminal"]},"nextAction":{"nullable":true,"type":"object","properties":{"operation":{"type":"string","minLength":1},"reason":{"type":"string","minLength":1}},"required":["operation","reason"],"additionalProperties":false}},"required":["id","accountId","articleId","articleRevisionId","targetId","repositoryChangeId","status","source","commitSha","liveUrl","deploymentId","lastEventId","lastEventAt","failureReason","userReported","idempotencyKey","createdAt","updatedAt","verification","stateTimestamps","liveCheck","validation","rollback","applied","reconciliation","nextAction"],"additionalProperties":false},"OperationMarketingSeoPublicationsReconcileError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_LIVE_VERIFICATION_REQUIRED","SEO_PUBLICATION_NOT_FOUND","SEO_PUBLICATION_SIGNATURE_INVALID","SEO_PUBLICATION_SIGNATURE_REQUIRED","SEO_PUBLICATION_STATE_DERIVED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPublicationsReconcileErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileErrorDefinitionSchema0"}}]},"OperationMarketingSeoPublicationsReconcileErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileErrorDefinitionSchema1"}}]},"OperationMarketingSeoPublicationsVerifyInput":{"type":"object","properties":{"publicationId":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["publicationId"],"additionalProperties":false},"OperationMarketingSeoPublicationsVerifyOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"articleId":{"nullable":true,"type":"string"},"articleRevisionId":{"nullable":true,"type":"string"},"targetId":{"type":"string"},"repositoryChangeId":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["prepared","approved","merged","deploy_not_seen","live","measuring","rolled_back","failed","external"]},"source":{"type":"string","enum":["repository_provider","deployment_provider","user_reported"]},"commitSha":{"nullable":true,"type":"string"},"liveUrl":{"nullable":true,"type":"string","format":"uri"},"deploymentId":{"nullable":true,"type":"string"},"lastEventId":{"nullable":true,"type":"string"},"lastEventAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"failureReason":{"nullable":true,"type":"string"},"userReported":{"type":"boolean"},"idempotencyKey":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"verification":{"default":null,"nullable":true,"type":"object","properties":{"deploymentId":{"nullable":true,"description":"Production deployment id; null when the website has no deployment provider and freshness uses the merge commit time.","type":"string"},"deploymentProvider":{"default":null,"nullable":true,"type":"string","enum":["vercel","none"]},"commitSha":{"type":"string"},"canonicalUrl":{"type":"string"},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"freshSince":{"default":null,"description":"Deployment ready time or merge commit time used as the freshness baseline.","nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"baselineId":{"type":"string","x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."}},"articleRevisionId":{"nullable":true,"type":"string"},"reviewedCode":{"default":null,"nullable":true,"type":"object","properties":{"repositoryChangeId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Provider-confirmed change binding; inspect the linked repository change on this publication."}},"baseSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"reviewedHeadSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourcePath":{"type":"string","minLength":1,"maxLength":1000},"beforeSourceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"afterSourceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["repositoryChangeId","baseSha","reviewedHeadSha","sourcePath","beforeSourceSha256","afterSourceSha256"],"additionalProperties":false}},"required":["deploymentId","deploymentProvider","commitSha","canonicalUrl","fetchedAt","freshSince","baselineId","articleRevisionId","reviewedCode"],"additionalProperties":false},"stateTimestamps":{"default":null,"description":"First time the publication entered each state.","nullable":true,"type":"object","additionalProperties":{"type":"string"}},"liveCheck":{"default":null,"description":"Bounded public-page verification schedule after the merge.","nullable":true,"type":"object","properties":{"mergedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastCheckedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastReason":{"nullable":true,"type":"string"},"nextCheckAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"windowEndsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["mergedAt","attempts","lastCheckedAt","lastReason","nextCheckAt","windowEndsAt"],"additionalProperties":false},"validation":{"default":null,"description":"How the merged change was validated. structured_reapply_parse: no repository checks, Moreflow re-applied and parsed the edit. post_deploy_watch: a full-autonomy change without repository checks; Moreflow watches the deployment and page status and reverts automatically on breakage.","nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["repository_checks","structured_reapply_parse","post_deploy_watch"]},"repositoryChecks":{"type":"string","enum":["configured","none"]}},"required":["kind","repositoryChecks"],"additionalProperties":false},"rollback":{"default":null,"description":"The merged revert that rolled this publication back.","nullable":true,"type":"object","properties":{"repositoryChangeId":{"type":"string"},"mergeSha":{"nullable":true,"type":"string"}},"required":["repositoryChangeId","mergeSha"],"additionalProperties":false},"nextAction":{"nullable":true,"type":"object","properties":{"operation":{"type":"string","minLength":1},"reason":{"type":"string","minLength":1}},"required":["operation","reason"],"additionalProperties":false}},"required":["id","accountId","articleId","articleRevisionId","targetId","repositoryChangeId","status","source","commitSha","liveUrl","deploymentId","lastEventId","lastEventAt","failureReason","userReported","idempotencyKey","createdAt","updatedAt","verification","stateTimestamps","liveCheck","validation","rollback","nextAction"],"additionalProperties":false},"OperationMarketingSeoPublicationsVerifyError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_DEPLOYMENT_EVIDENCE_UNAVAILABLE","SEO_PUBLICATION_DEPLOY_NOT_SEEN","SEO_PUBLICATION_NOT_FOUND","SEO_PUBLICATION_NOT_LIVE","SEO_PUBLICATION_REVISION_MISMATCH"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoPublicationsVerifyErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyErrorDefinitionSchema0"}}]},"OperationMarketingSeoPublicationsVerifyErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingEstimateInput":{"type":"object","properties":{"devices":{"default":1,"type":"integer","minimum":1,"maximum":2},"depth":{"default":20,"type":"integer","minimum":10,"maximum":100},"cadence":{"default":"manual","type":"string","enum":["daily","weekly","monthly","manual"]},"method":{"default":"queued","type":"string","enum":["queued","live"]}}},"OperationMarketingSeoRankTrackingEstimateOutput":{"type":"object","properties":{"perCheckCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"monthlyCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"checksPerMonth":{"type":"number"},"method":{"type":"string"},"message":{"type":"string"}},"required":["perCheckCents","monthlyCents","currency","checksPerMonth","method","message"],"additionalProperties":false},"OperationMarketingSeoRankTrackingEstimateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingEstimateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingEstimateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingKeywordsCreateInput":{"type":"object","properties":{"keyword":{"type":"string","minLength":1},"device":{"default":"desktop","type":"string","enum":["desktop","mobile"]},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string"},"locationName":{"type":"string"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["keyword"]},"OperationMarketingSeoRankTrackingKeywordsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.rankTracking.keywords.get"}},"keyword":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"locationCode":{"type":"number"},"languageCode":{"type":"string"},"locationName":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","keyword","device","locationCode","languageCode","locationName","createdAt","removedAt"],"additionalProperties":false},"OperationMarketingSeoRankTrackingKeywordsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_RANK_TRACKING_UNAVAILABLE","SEO_AI_UNAVAILABLE","SEO_RANK_TRACKING_KEYWORD_LIMIT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingKeywordsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingKeywordsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingKeywordsDeleteInput":{"type":"object","properties":{"keywordId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.rankTracking.keywords.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["keywordId"]},"OperationMarketingSeoRankTrackingKeywordsDeleteOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.rankTracking.keywords.get"}},"keyword":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"locationCode":{"type":"number"},"languageCode":{"type":"string"},"locationName":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","keyword","device","locationCode","languageCode","locationName","createdAt","removedAt"],"additionalProperties":false},"OperationMarketingSeoRankTrackingKeywordsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_RANK_TRACKING_UNAVAILABLE","SEO_RANK_KEYWORD_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingKeywordsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingKeywordsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingKeywordsGetInput":{"type":"object","properties":{"keywordId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.rankTracking.keywords.get"}}},"required":["keywordId"]},"OperationMarketingSeoRankTrackingKeywordsGetOutput":{"type":"object","properties":{"id":{"type":"string"},"keyword":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"locationName":{"nullable":true,"type":"string"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"stats":{"type":"object","properties":{"position":{"nullable":true,"type":"number"},"previousPosition":{"nullable":true,"type":"number"},"bestPosition":{"nullable":true,"type":"number"},"worstPosition":{"nullable":true,"type":"number"},"averagePosition":{"nullable":true,"type":"number"},"movement7d":{"nullable":true,"description":"Positions gained over seven days; positive means the keyword moved up.","type":"number"},"movement28d":{"nullable":true,"description":"Positions gained over twenty-eight days; positive means the keyword moved up.","type":"number"},"checks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"firstCheckedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastCheckedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"trend":{"type":"string","enum":["up","down","flat","new","unranked"]}},"required":["position","previousPosition","bestPosition","worstPosition","averagePosition","movement7d","movement28d","checks","firstCheckedAt","lastCheckedAt","trend"],"additionalProperties":false},"history":{"type":"array","items":{"type":"object","properties":{"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"position":{"nullable":true,"type":"number"},"url":{"nullable":true,"type":"string"},"serpFeatures":{"type":"array","items":{"type":"string"}},"aiOverview":{"nullable":true,"type":"object","properties":{"present":{"type":"boolean"},"ownCited":{"type":"boolean"},"citedDomains":{"type":"array","items":{"type":"string"}}},"required":["present","ownCited","citedDomains"],"additionalProperties":false},"costCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]}},"required":["checkedAt","position","url","serpFeatures","aiOverview","costCents","costMicroCents","currency"],"additionalProperties":false},"description":"Every check, oldest first."},"urlChanges":{"type":"array","items":{"type":"object","properties":{"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"from":{"nullable":true,"type":"string"},"to":{"nullable":true,"type":"string"}},"required":["checkedAt","from","to"],"additionalProperties":false}},"serpFeatures":{"type":"array","items":{"type":"object","properties":{"feature":{"type":"string"},"checks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"share":{"type":"number","description":"Share of checks (0-100) in which the feature appeared."},"current":{"type":"boolean"},"firstSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["feature","checks","share","current","firstSeenAt","lastSeenAt"],"additionalProperties":false}},"aiOverview":{"nullable":true,"type":"object","properties":{"checks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"present":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cited":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currentlyPresent":{"type":"boolean"},"currentlyCited":{"type":"boolean"},"citedDomains":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["domain","count"],"additionalProperties":false}}},"required":["checks","present","cited","currentlyPresent","currentlyCited","citedDomains"],"additionalProperties":false},"sibling":{"nullable":true,"description":"The same keyword tracked on the other device, when present.","type":"object","properties":{"id":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"position":{"nullable":true,"type":"number"},"movement7d":{"nullable":true,"type":"number"},"url":{"nullable":true,"type":"string"},"lastCheckedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"history":{"type":"array","items":{"type":"object","properties":{"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"position":{"nullable":true,"type":"number"}},"required":["checkedAt","position"],"additionalProperties":false}}},"required":["id","device","position","movement7d","url","lastCheckedAt","history"],"additionalProperties":false},"totalCostCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalCostMicroCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]}},"required":["id","keyword","device","locationCode","languageCode","createdAt","locationName","removedAt","stats","history","urlChanges","serpFeatures","aiOverview","sibling","totalCostCents","totalCostMicroCents","currency"],"additionalProperties":false},"OperationMarketingSeoRankTrackingKeywordsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_RANK_TRACKING_UNAVAILABLE","SEO_RANK_KEYWORD_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingKeywordsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingKeywordsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingKeywordsImportInput":{"type":"object","properties":{"keywords":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"Keywords to track; duplicates and already tracked pairs are skipped."},"devices":{"default":["desktop"],"description":"Track every keyword on each listed device.","minItems":1,"maxItems":2,"type":"array","items":{"type":"string","enum":["desktop","mobile"]}},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string"},"locationName":{"type":"string"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["keywords"]},"OperationMarketingSeoRankTrackingKeywordsImportOutput":{"type":"object","properties":{"added":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.rankTracking.keywords.get"}},"keyword":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"locationCode":{"type":"number"},"languageCode":{"type":"string"},"locationName":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","keyword","device","locationCode","languageCode","locationName","createdAt","removedAt"],"additionalProperties":false}},"skipped":{"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"reason":{"type":"string","enum":["already_tracked","limit_reached"]}},"required":["keyword","device","reason"],"additionalProperties":false}},"trackedKeywords":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["added","skipped","trackedKeywords"],"additionalProperties":false},"OperationMarketingSeoRankTrackingKeywordsImportError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_RANK_TRACKING_UNAVAILABLE","SEO_AI_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingKeywordsImportErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingKeywordsImportErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingKeywordsListInput":{"type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationMarketingSeoRankTrackingKeywordsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.rankTracking.keywords.get"}},"keyword":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"locationCode":{"type":"number"},"languageCode":{"type":"string"},"locationName":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"removedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","keyword","device","locationCode","languageCode","locationName","createdAt","removedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoRankTrackingKeywordsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingKeywordsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingKeywordsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingOverviewGetInput":{"type":"object","properties":{}},"OperationMarketingSeoRankTrackingOverviewGetOutput":{"type":"object","properties":{"id":{"type":"string"},"summary":{"type":"object","properties":{"trackedKeywords":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"desktopKeywords":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mobileKeywords":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"ranked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unranked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unchecked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top3":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top10":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"averagePosition":{"nullable":true,"type":"number"},"visibilityScore":{"type":"number","description":"Click-share weighted 0-100 score across all tracked keywords."},"improved":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"declined":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"aiOverviewPresent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"aiOverviewCited":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lastCheckedAt":{"nullable":true,"type":"string"},"nextCheckAt":{"nullable":true,"type":"string"},"cadence":{"nullable":true,"type":"string","enum":["daily","weekly","monthly","manual"]},"monthToDateCostCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"monthToDateCostMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]}},"required":["trackedKeywords","desktopKeywords","mobileKeywords","ranked","unranked","unchecked","top3","top10","averagePosition","visibilityScore","improved","declined","aiOverviewPresent","aiOverviewCited","lastCheckedAt","nextCheckAt","cadence","monthToDateCostCents","monthToDateCostMicroCents","currency"],"additionalProperties":false},"keywords":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"keyword":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"position":{"nullable":true,"type":"number"},"previousPosition":{"nullable":true,"type":"number"},"movement7d":{"nullable":true,"description":"Positions gained over seven days; positive means the keyword moved up.","type":"number"},"movement28d":{"nullable":true,"description":"Positions gained over twenty-eight days; positive means the keyword moved up.","type":"number"},"bestPosition":{"nullable":true,"type":"number"},"url":{"nullable":true,"type":"string"},"serpFeatures":{"type":"array","items":{"type":"string"}},"aiOverview":{"nullable":true,"type":"object","properties":{"present":{"type":"boolean"},"ownCited":{"type":"boolean"}},"required":["present","ownCited"],"additionalProperties":false},"lastCheckedAt":{"nullable":true,"type":"string"},"checks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"trend":{"type":"string","enum":["up","down","flat","new","unranked"]},"history":{"type":"array","items":{"type":"object","properties":{"checkedAt":{"type":"string"},"position":{"nullable":true,"type":"number"}},"required":["checkedAt","position"],"additionalProperties":false}}},"required":["id","keyword","device","position","previousPosition","movement7d","movement28d","bestPosition","url","serpFeatures","aiOverview","lastCheckedAt","checks","trend","history"],"additionalProperties":false}},"movers":{"type":"object","properties":{"winners":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"keyword":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"position":{"nullable":true,"type":"number"},"previousPosition":{"nullable":true,"type":"number"},"movement7d":{"nullable":true,"description":"Positions gained over seven days; positive means the keyword moved up.","type":"number"},"movement28d":{"nullable":true,"description":"Positions gained over twenty-eight days; positive means the keyword moved up.","type":"number"},"bestPosition":{"nullable":true,"type":"number"},"url":{"nullable":true,"type":"string"},"serpFeatures":{"type":"array","items":{"type":"string"}},"aiOverview":{"nullable":true,"type":"object","properties":{"present":{"type":"boolean"},"ownCited":{"type":"boolean"}},"required":["present","ownCited"],"additionalProperties":false},"lastCheckedAt":{"nullable":true,"type":"string"},"checks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"trend":{"type":"string","enum":["up","down","flat","new","unranked"]},"history":{"type":"array","items":{"type":"object","properties":{"checkedAt":{"type":"string"},"position":{"nullable":true,"type":"number"}},"required":["checkedAt","position"],"additionalProperties":false}}},"required":["id","keyword","device","position","previousPosition","movement7d","movement28d","bestPosition","url","serpFeatures","aiOverview","lastCheckedAt","checks","trend","history"],"additionalProperties":false}},"losers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"keyword":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"position":{"nullable":true,"type":"number"},"previousPosition":{"nullable":true,"type":"number"},"movement7d":{"nullable":true,"description":"Positions gained over seven days; positive means the keyword moved up.","type":"number"},"movement28d":{"nullable":true,"description":"Positions gained over twenty-eight days; positive means the keyword moved up.","type":"number"},"bestPosition":{"nullable":true,"type":"number"},"url":{"nullable":true,"type":"string"},"serpFeatures":{"type":"array","items":{"type":"string"}},"aiOverview":{"nullable":true,"type":"object","properties":{"present":{"type":"boolean"},"ownCited":{"type":"boolean"}},"required":["present","ownCited"],"additionalProperties":false},"lastCheckedAt":{"nullable":true,"type":"string"},"checks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"trend":{"type":"string","enum":["up","down","flat","new","unranked"]},"history":{"type":"array","items":{"type":"object","properties":{"checkedAt":{"type":"string"},"position":{"nullable":true,"type":"number"}},"required":["checkedAt","position"],"additionalProperties":false}}},"required":["id","keyword","device","position","previousPosition","movement7d","movement28d","bestPosition","url","serpFeatures","aiOverview","lastCheckedAt","checks","trend","history"],"additionalProperties":false}}},"required":["winners","losers"],"additionalProperties":false},"highlights":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["big_win","big_drop","entered_top10","left_top10","striking_distance","ai_overview_not_cited","missing_mobile","no_check_yet","check_stale","last_run_skipped"]},"tone":{"type":"string","enum":["positive","negative","neutral"]},"message":{"type":"string"},"keywordIds":{"type":"array","items":{"type":"string"}},"value":{"nullable":true,"type":"number"}},"required":["code","tone","message","keywordIds","value"],"additionalProperties":false}}},"required":["id","summary","keywords","movers","highlights"],"additionalProperties":false},"OperationMarketingSeoRankTrackingOverviewGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AUTH_ERROR","FORBIDDEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingOverviewGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingOverviewGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingRunInput":{"type":"object","properties":{"maxCostCents":{"description":"Optional per-run ceiling in cents; omit to accept the fresh list-price estimate.","nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}}},"OperationMarketingSeoRankTrackingRunOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["succeeded","failed","cancelled"]},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunOutputDefinitionSchema0"}},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"method":{"nullable":true,"type":"string"},"processed":{"type":"integer","minimum":0,"maximum":9007199254740991},"pending":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"failures":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunOutputDefinitionSchema0"}},"skipped":{"type":"boolean"},"skipReason":{"nullable":true,"type":"string"}},"required":["id","status","completedAt","snapshots","costCents","costMicroCents","currency","method","processed","pending","failures","skipped","skipReason"],"additionalProperties":false},"OperationMarketingSeoRankTrackingRunOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunOutputDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingRunError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED","SEO_RANK_TRACKING_UNAVAILABLE","SEO_RANK_TRACKING_NO_KEYWORDS","SEO_RANK_TRACKING_OVER_CEILING","SEO_RANK_TRACKING_RUN_ACTIVE","SEO_RANK_TRACKING_RUN_LEASE_LOST"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingRunErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingRunErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingScheduleGetInput":{"type":"object","properties":{}},"OperationMarketingSeoRankTrackingScheduleGetOutput":{"type":"object","properties":{"id":{"type":"string"},"cadence":{"type":"string","enum":["daily","weekly","monthly","manual"]},"depth":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"maxMonthlyCostCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"nextCheckAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastRunAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastSkipReason":{"nullable":true,"type":"string"}},"required":["id","cadence","depth","maxMonthlyCostCents","currency","nextCheckAt","lastRunAt","lastSkipReason"],"additionalProperties":false},"OperationMarketingSeoRankTrackingScheduleGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingScheduleGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingScheduleGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingScheduleUpdateInput":{"type":"object","properties":{"cadence":{"type":"string","enum":["daily","weekly","monthly","manual"]},"depth":{"type":"integer","minimum":10,"maximum":100},"maxMonthlyCostCents":{"description":"Monthly ceiling in cents for scheduled checks; omit to keep the current value, or use null to clear it.","nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}}},"OperationMarketingSeoRankTrackingScheduleUpdateOutput":{"type":"object","properties":{"id":{"type":"string"},"cadence":{"type":"string","enum":["daily","weekly","monthly","manual"]},"depth":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"maxMonthlyCostCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"nextCheckAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastRunAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastSkipReason":{"nullable":true,"type":"string"},"estimate":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateOutputDefinitionSchema0"}},"required":["id","cadence","depth","maxMonthlyCostCents","currency","nextCheckAt","lastRunAt","lastSkipReason","estimate"],"additionalProperties":false},"OperationMarketingSeoRankTrackingScheduleUpdateOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateOutputDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingScheduleUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_RANK_TRACKING_UNAVAILABLE","SEO_RANK_TRACKING_OVER_CEILING"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingScheduleUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingScheduleUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingSnapshotsListInput":{"type":"object","properties":{"keywordId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.rankTracking.keywords.get"}},"fromDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"toDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationMarketingSeoRankTrackingSnapshotsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListOutputDefinitionSchema0"}},"nextCursor":{"nullable":true,"type":"string"},"changes":{"type":"object","properties":{"sevenDay":{"nullable":true,"type":"number"},"twentyEightDay":{"nullable":true,"type":"number"}},"required":["sevenDay","twentyEightDay"],"additionalProperties":false},"changesByKeyword":{"type":"object","additionalProperties":{"type":"object","properties":{"sevenDay":{"nullable":true,"type":"number"},"twentyEightDay":{"nullable":true,"type":"number"}},"required":["sevenDay","twentyEightDay"],"additionalProperties":false}}},"required":["items","nextCursor","changes","changesByKeyword"],"additionalProperties":false},"OperationMarketingSeoRankTrackingSnapshotsListOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListOutputDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingSnapshotsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_RANK_TRACKING_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingSnapshotsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingSnapshotsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingRunsGetInput":{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.rankTrackingRuns.get"}}},"required":["runId"]},"OperationMarketingSeoRankTrackingRunsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["succeeded","failed","cancelled"]},"completedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"snapshots":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetOutputDefinitionSchema0"}},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"method":{"nullable":true,"type":"string"},"processed":{"type":"integer","minimum":0,"maximum":9007199254740991},"pending":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"failures":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetOutputDefinitionSchema0"}},"skipped":{"type":"boolean"},"skipReason":{"nullable":true,"type":"string"}},"required":["id","status","completedAt","snapshots","costCents","costMicroCents","currency","method","processed","pending","failures","skipped","skipReason"],"additionalProperties":false},"OperationMarketingSeoRankTrackingRunsGetOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingRunsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_RESEARCH_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingRunsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingRunsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoRankTrackingTrendGetInput":{"type":"object","properties":{"days":{"default":28,"description":"Trailing window in days; one point per UTC day.","anyOf":[{"type":"number","enum":[7]},{"type":"number","enum":[28]},{"type":"number","enum":[90]}]}}},"OperationMarketingSeoRankTrackingTrendGetOutput":{"type":"object","properties":{"id":{"type":"string"},"days":{"anyOf":[{"type":"number","enum":[7]},{"type":"number","enum":[28]},{"type":"number","enum":[90]}]},"points":{"type":"array","items":{"type":"object","properties":{"top3":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top4to10":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top11to20":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top21plus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unranked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unchecked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tracked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"visibilityScore":{"type":"number","description":"Click-share weighted 0-100 score across all tracked keywords."},"averagePosition":{"nullable":true,"type":"number"},"checkedDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","description":"UTC day, YYYY-MM-DD."}},"required":["top3","top4to10","top11to20","top21plus","unranked","unchecked","tracked","visibilityScore","averagePosition","checkedDate"],"additionalProperties":false}},"current":{"nullable":true,"type":"object","properties":{"top3":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top4to10":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top11to20":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top21plus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unranked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unchecked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tracked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"visibilityScore":{"type":"number","description":"Click-share weighted 0-100 score across all tracked keywords."},"averagePosition":{"nullable":true,"type":"number"}},"required":["top3","top4to10","top11to20","top21plus","unranked","unchecked","tracked","visibilityScore","averagePosition"],"additionalProperties":false},"start":{"nullable":true,"type":"object","properties":{"top3":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top4to10":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top11to20":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top21plus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unranked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unchecked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tracked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"visibilityScore":{"type":"number","description":"Click-share weighted 0-100 score across all tracked keywords."},"averagePosition":{"nullable":true,"type":"number"}},"required":["top3","top4to10","top11to20","top21plus","unranked","unchecked","tracked","visibilityScore","averagePosition"],"additionalProperties":false},"change":{"type":"object","properties":{"visibilityScore":{"nullable":true,"type":"number"},"averagePosition":{"nullable":true,"description":"Positions gained on average since the first point; positive means up.","type":"number"},"top10":{"nullable":true,"type":"number"}},"required":["visibilityScore","averagePosition","top10"],"additionalProperties":false}},"required":["id","days","points","current","start","change"],"additionalProperties":false},"OperationMarketingSeoRankTrackingTrendGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_RANK_TRACKING_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoRankTrackingTrendGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoRankTrackingTrendGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoResearchFunnelGetInput":{"type":"object","properties":{"resultId":{"description":"Saved keyword research result to analyse; defaults to the newest one.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}}}},"OperationMarketingSeoResearchFunnelGetOutput":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"intents":{"type":"array","items":{"type":"object","properties":{"intent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"volume":{"type":"number"},"ideas":{"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string"},"searchVolume":{"nullable":true,"type":"number"},"difficulty":{"nullable":true,"description":"Keyword difficulty 0-100; null when the provider gave none.","type":"number"},"intent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"cpcCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cpcMicroCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"competition":{"nullable":true,"type":"number"},"source":{"nullable":true,"type":"string"},"seed":{"nullable":true,"type":"string"}},"required":["keyword","searchVolume","difficulty","intent","cpcCents","cpcMicroCents","currency","competition","source","seed"],"additionalProperties":false}}},"required":["intent","count","volume","ideas"],"additionalProperties":false}},"scatter":{"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string"},"searchVolume":{"type":"number"},"difficulty":{"type":"number"},"intent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"tracked":{"type":"boolean"}},"required":["keyword","searchVolume","difficulty","intent","tracked"],"additionalProperties":false}},"buckets":{"type":"object","properties":{"quickWins":{"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string"},"searchVolume":{"nullable":true,"type":"number"},"difficulty":{"nullable":true,"description":"Keyword difficulty 0-100; null when the provider gave none.","type":"number"},"intent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"cpcCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cpcMicroCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"competition":{"nullable":true,"type":"number"},"source":{"nullable":true,"type":"string"},"seed":{"nullable":true,"type":"string"}},"required":["keyword","searchVolume","difficulty","intent","cpcCents","cpcMicroCents","currency","competition","source","seed"],"additionalProperties":false}},"highValue":{"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string"},"searchVolume":{"nullable":true,"type":"number"},"difficulty":{"nullable":true,"description":"Keyword difficulty 0-100; null when the provider gave none.","type":"number"},"intent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"cpcCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cpcMicroCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"competition":{"nullable":true,"type":"number"},"source":{"nullable":true,"type":"string"},"seed":{"nullable":true,"type":"string"}},"required":["keyword","searchVolume","difficulty","intent","cpcCents","cpcMicroCents","currency","competition","source","seed"],"additionalProperties":false}},"longShots":{"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string"},"searchVolume":{"nullable":true,"type":"number"},"difficulty":{"nullable":true,"description":"Keyword difficulty 0-100; null when the provider gave none.","type":"number"},"intent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"cpcCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cpcMicroCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"competition":{"nullable":true,"type":"number"},"source":{"nullable":true,"type":"string"},"seed":{"nullable":true,"type":"string"}},"required":["keyword","searchVolume","difficulty","intent","cpcCents","cpcMicroCents","currency","competition","source","seed"],"additionalProperties":false}},"lowData":{"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string"},"searchVolume":{"nullable":true,"type":"number"},"difficulty":{"nullable":true,"description":"Keyword difficulty 0-100; null when the provider gave none.","type":"number"},"intent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"cpcCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cpcMicroCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"competition":{"nullable":true,"type":"number"},"source":{"nullable":true,"type":"string"},"seed":{"nullable":true,"type":"string"}},"required":["keyword","searchVolume","difficulty","intent","cpcCents","cpcMicroCents","currency","competition","source","seed"],"additionalProperties":false}}},"required":["quickWins","highValue","longShots","lowData"],"additionalProperties":false},"tracked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"id":{"type":"string"},"currency":{"type":"string","enum":["USD"]},"resultId":{"nullable":true,"type":"string"},"fetchedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"seeds":{"type":"array","items":{"type":"string"}},"costCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["total","intents","scatter","buckets","tracked","id","currency","resultId","fetchedAt","dataAsOfAt","seeds","costCents","costMicroCents"],"additionalProperties":false},"OperationMarketingSeoResearchFunnelGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_RESEARCH_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoResearchFunnelGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoResearchFunnelGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoResearchHistoryGetInput":{"type":"object","properties":{"resultId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}}},"required":["resultId"]},"OperationMarketingSeoResearchHistoryGetOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetOutputDefinitionSchema0"}},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sourceTotalCount":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fromCache":{"type":"boolean"},"providerPath":{"nullable":true,"type":"string"},"researchLog":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetOutputDefinitionSchema0"}},"failures":{"type":"array","items":{"type":"object","properties":{"seed":{"type":"string"},"message":{"type":"string"},"code":{"nullable":true,"type":"string"}},"required":["seed","message","code"],"additionalProperties":false}}},"required":["id","items","totalCount","sourceTotalCount","costCents","costMicroCents","currency","fetchedAt","dataAsOfAt","fromCache","providerPath","researchLog","failures"],"additionalProperties":{}},"OperationMarketingSeoResearchHistoryGetOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoResearchHistoryGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_RESEARCH_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoResearchHistoryGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoResearchHistoryGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoResearchHistoryListInput":{"type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationMarketingSeoResearchHistoryListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string"},"inputs":{"type":"string"},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"costCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"providerPath":{"type":"string"}},"required":["id","kind","inputs","rowCount","fetchedAt","costCents","costMicroCents","currency","providerPath"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMarketingSeoResearchHistoryListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoResearchHistoryListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListErrorDefinitionSchema0"}}]},"OperationMarketingSeoResearchHistoryListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListErrorDefinitionSchema1"}}]},"OperationMarketingSeoResearchOpportunitiesGetInput":{"type":"object","properties":{"domain":{"type":"string","minLength":1,"description":"Own domain whose rankings are compared."},"competitor":{"description":"Competitor domain for keyword gaps; omit for striking distance only.","type":"string","minLength":1},"forceRefresh":{"default":false,"type":"boolean"},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2}},"required":["domain"]},"OperationMarketingSeoResearchOpportunitiesGetOutput":{"type":"object","properties":{"id":{"type":"string"},"currency":{"type":"string","enum":["USD"]},"competitor":{"nullable":true,"type":"string"},"strikingDistance":{"type":"array","items":{"type":"object","properties":{"keywordId":{"type":"string","x-moreflow-reference":{"resolver":"marketing.seo.rankTracking.keywords.get"}},"keyword":{"type":"string"},"device":{"type":"string","enum":["desktop","mobile"]},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"movement7d":{"nullable":true,"type":"number"},"url":{"nullable":true,"type":"string"},"searchVolume":{"nullable":true,"type":"number"}},"required":["keywordId","keyword","device","position","movement7d","url","searchVolume"],"additionalProperties":false}},"competitorGaps":{"type":"array","items":{"type":"object","properties":{"keyword":{"type":"string"},"competitorPosition":{"nullable":true,"type":"number"},"searchVolume":{"nullable":true,"type":"number"},"url":{"nullable":true,"type":"string"},"intent":{"type":"string","enum":["informational","navigational","commercial","transactional","unknown"]},"ownPosition":{"nullable":true,"type":"number"}},"required":["keyword","competitorPosition","searchVolume","url","intent","ownPosition"],"additionalProperties":false}},"costCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fromCache":{"type":"boolean"},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","currency","competitor","strikingDistance","competitorGaps","costCents","costMicroCents","fromCache","fetchedAt","dataAsOfAt"],"additionalProperties":false},"OperationMarketingSeoResearchOpportunitiesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoResearchOpportunitiesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoResearchOpportunitiesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoSerpCompetitorsListInput":{"type":"object","properties":{"forceRefresh":{"default":false,"type":"boolean"},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2},"keywords":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1}},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1},"maxResults":{"default":100,"description":"Maximum compared domains selected into this saved research snapshot.","type":"integer","minimum":1,"maximum":100}},"required":["keywords"]},"OperationMarketingSeoSerpCompetitorsListOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListOutputDefinitionSchema0"}},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sourceTotalCount":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fromCache":{"type":"boolean"},"providerPath":{"nullable":true,"type":"string"},"researchLog":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListOutputDefinitionSchema0"}},"failures":{"type":"array","items":{"type":"object","properties":{"seed":{"type":"string"},"message":{"type":"string"},"code":{"nullable":true,"type":"string"}},"required":["seed","message","code"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["id","items","totalCount","sourceTotalCount","costCents","costMicroCents","currency","fetchedAt","dataAsOfAt","fromCache","providerPath","researchLog","failures","nextCursor"],"additionalProperties":{}},"OperationMarketingSeoSerpCompetitorsListOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListOutputDefinitionSchema0"}}]},"OperationMarketingSeoSerpCompetitorsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED","SEO_RESEARCH_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoSerpCompetitorsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListErrorDefinitionSchema0"}}]},"OperationMarketingSeoSerpCompetitorsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListErrorDefinitionSchema1"}}]},"OperationMarketingSeoSerpGetInput":{"type":"object","properties":{"forceRefresh":{"default":false,"type":"boolean"},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2},"keyword":{"type":"string","minLength":1},"depth":{"default":20,"type":"integer","minimum":10,"maximum":100},"device":{"default":"desktop","type":"string","enum":["desktop","mobile"]}},"required":["keyword"]},"OperationMarketingSeoSerpGetOutput":{"type":"object","properties":{"id":{"type":"string","minLength":1,"x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}},"items":{"type":"array","items":{"type":"object","properties":{"type":{"nullable":true,"description":"DataForSEO element type, e.g. organic, paid, featured_snippet, local_pack, ai_overview_reference. Rows are in SERP order.","type":"string"},"rank":{"nullable":true,"description":"DataForSEO rank_group: position within this row's own type group. Not an organic position unless type is organic; use organicRank.","type":"number"},"organicRank":{"nullable":true,"description":"Organic position (rank_group of an organic row). Absent for every non-organic row.","type":"number"},"title":{"nullable":true,"type":"string"},"url":{"nullable":true,"type":"string"},"domain":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"etv":{"nullable":true,"type":"number"}},"required":["type","rank","organicRank","title","url","domain","description","etv"],"additionalProperties":false}},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sourceTotalCount":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fromCache":{"type":"boolean"},"providerPath":{"nullable":true,"type":"string"},"researchLog":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetOutputDefinitionSchema0"}},"failures":{"type":"array","items":{"type":"object","properties":{"seed":{"type":"string"},"message":{"type":"string"},"code":{"nullable":true,"type":"string"}},"required":["seed","message","code"],"additionalProperties":false}},"serpFeatures":{"type":"array","items":{"type":"string"}},"depth":{"type":"number"}},"required":["id","items","totalCount","sourceTotalCount","costCents","costMicroCents","currency","fetchedAt","dataAsOfAt","fromCache","providerPath","researchLog","failures","serpFeatures","depth"],"additionalProperties":{}},"OperationMarketingSeoSerpGetOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoSerpGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoSerpGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoSerpGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoShareOfVoiceGetInput":{"type":"object","properties":{"domain":{"type":"string","minLength":1,"description":"The account's own domain."},"competitors":{"default":[],"description":"Competitor domains to highlight; other SERP domains are still listed.","maxItems":3,"type":"array","items":{"type":"string","minLength":1}},"forceRefresh":{"default":false,"type":"boolean"},"locationCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2}},"required":["domain"]},"OperationMarketingSeoShareOfVoiceGetOutput":{"type":"object","properties":{"id":{"type":"string"},"keywords":{"type":"array","items":{"type":"string"}},"domains":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"share":{"type":"number","description":"0-100 share of the compared traffic value."},"averagePosition":{"nullable":true,"type":"number"},"keywordsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"etv":{"nullable":true,"type":"number"},"role":{"type":"string","enum":["own","competitor","other"]}},"required":["domain","share","averagePosition","keywordsCount","etv","role"],"additionalProperties":false}},"own":{"nullable":true,"type":"object","properties":{"domain":{"type":"string"},"share":{"type":"number","description":"0-100 share of the compared traffic value."},"averagePosition":{"nullable":true,"type":"number"},"keywordsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"etv":{"nullable":true,"type":"number"},"role":{"type":"string","enum":["own","competitor","other"]}},"required":["domain","share","averagePosition","keywordsCount","etv","role"],"additionalProperties":false},"competitors":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"share":{"type":"number","description":"0-100 share of the compared traffic value."},"averagePosition":{"nullable":true,"type":"number"},"keywordsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"etv":{"nullable":true,"type":"number"},"role":{"type":"string","enum":["own","competitor","other"]}},"required":["domain","share","averagePosition","keywordsCount","etv","role"],"additionalProperties":false}},"basis":{"type":"string","enum":["etv","keywords"]},"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetOutputDefinitionSchema0"}},"costCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"costMicroCents":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["USD"]},"fetchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataAsOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fromCache":{"type":"boolean"},"researchResultId":{"type":"string","x-moreflow-reference":{"resolver":"marketing.seo.researchHistory.get"}}},"required":["id","keywords","domains","own","competitors","basis","items","costCents","costMicroCents","currency","fetchedAt","dataAsOfAt","fromCache","researchResultId"],"additionalProperties":{}},"OperationMarketingSeoShareOfVoiceGetOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoShareOfVoiceGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_MARKET_MISSING","SEO_MARKET_LANGUAGE_UNSUPPORTED","SEO_PROVIDER_RATE_LIMITED","SEO_PROVIDER_AUTH_FAILED","SEO_PROVIDER_ERROR","SEO_BILLING_SETTLEMENT_FAILED","AI_QUOTA_EXCEEDED","SEO_RANK_TRACKING_UNAVAILABLE","SEO_RANK_TRACKING_NO_KEYWORDS"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoShareOfVoiceGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoShareOfVoiceGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoSiteContextCreateInput":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"companyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"company id"},"websiteUrl":{"type":"string","format":"uri"},"domain":{"type":"string","minLength":1,"maxLength":2048},"targetDomain":{"type":"string","minLength":1,"maxLength":2048},"audience":{"type":"string","maxLength":2000},"offerSummary":{"type":"string","maxLength":4000},"services":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"goals":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"competitors":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"brandAliases":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"market":{"type":"object","properties":{"locationCode":{"type":"string","minLength":1,"maxLength":100},"languageCode":{"type":"string","minLength":1,"maxLength":32},"locationName":{"type":"string","minLength":1,"maxLength":200}},"required":["locationCode","languageCode"],"additionalProperties":false},"searchConsoleProperty":{"type":"object","properties":{"siteUrl":{"type":"string","minLength":1,"maxLength":2048},"integrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"provider integration id"}},"required":["siteUrl"],"additionalProperties":false},"analyticsProperty":{"type":"object","properties":{"propertyId":{"type":"string","minLength":1,"maxLength":255},"displayName":{"type":"string","minLength":1,"maxLength":255},"integrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"provider integration id"}},"required":["propertyId"],"additionalProperties":false},"repositoryConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"origin":{"default":"user_selected","type":"string","enum":["account_default","user_selected","legacy_backfill"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["name"],"additionalProperties":false},"OperationMarketingSeoSiteContextCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO site context id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"companyId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"company id"},"name":{"type":"string","minLength":1},"websiteUrl":{"nullable":true,"type":"string","minLength":1},"domain":{"nullable":true,"type":"string","minLength":1},"targetDomain":{"nullable":true,"type":"string","minLength":1},"audience":{"nullable":true,"type":"string"},"offerSummary":{"nullable":true,"type":"string"},"services":{"type":"array","items":{"type":"string"}},"goals":{"type":"array","items":{"type":"string"}},"competitors":{"type":"array","items":{"type":"string"}},"brandAliases":{"type":"array","items":{"type":"string"}},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"string","minLength":1,"maxLength":100},"languageCode":{"type":"string","minLength":1,"maxLength":32},"locationName":{"nullable":true,"type":"string","minLength":1,"maxLength":200}},"required":["locationCode","languageCode","locationName"],"additionalProperties":false},"searchConsoleProperty":{"nullable":true,"type":"object","properties":{"siteUrl":{"type":"string","minLength":1},"integrationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"provider integration id"}},"required":["siteUrl","integrationId"],"additionalProperties":false},"analyticsProperty":{"nullable":true,"type":"object","properties":{"propertyId":{"type":"string","minLength":1},"displayName":{"nullable":true,"type":"string"},"integrationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"provider integration id"}},"required":["propertyId","displayName","integrationId"],"additionalProperties":false},"repositoryConnectionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"origin":{"type":"string","enum":["account_default","user_selected","legacy_backfill"]},"automationMode":{"type":"string","enum":["approve_first","autopilot","full_autonomy"]},"fullAutonomyConsent":{"nullable":true,"description":"Recorded owner/admin consent while automationMode is full_autonomy: who, when and the site revision it produced.","type":"object","properties":{"consentId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Consent grant identifier; binds full-autonomy repository changes and is read through marketing.seo.automationMode.detail."}},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"consentedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"contextRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["consentId","userId","consentedAt","contextRevision"],"additionalProperties":false},"indexingApiOptIn":{"type":"boolean"},"publicRoot":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"automationPaused":{"type":"boolean"},"automationPausedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"createdByUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","companyId","name","websiteUrl","domain","targetDomain","audience","offerSummary","services","goals","competitors","brandAliases","market","searchConsoleProperty","analyticsProperty","repositoryConnectionId","origin","automationMode","fullAutonomyConsent","indexingApiOptIn","publicRoot","automationPaused","automationPausedAt","revision","createdByUserId","createdAt","updatedAt"],"additionalProperties":false},"OperationMarketingSeoSiteContextCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_SITE_CONTEXT_EXISTS"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoSiteContextCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoSiteContextCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoSiteContextGetInput":{"type":"object","properties":{"contextId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO site context id"}},"additionalProperties":false},"OperationMarketingSeoSiteContextGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO site context id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"companyId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"company id"},"name":{"type":"string","minLength":1},"websiteUrl":{"nullable":true,"type":"string","minLength":1},"domain":{"nullable":true,"type":"string","minLength":1},"targetDomain":{"nullable":true,"type":"string","minLength":1},"audience":{"nullable":true,"type":"string"},"offerSummary":{"nullable":true,"type":"string"},"services":{"type":"array","items":{"type":"string"}},"goals":{"type":"array","items":{"type":"string"}},"competitors":{"type":"array","items":{"type":"string"}},"brandAliases":{"type":"array","items":{"type":"string"}},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"string","minLength":1,"maxLength":100},"languageCode":{"type":"string","minLength":1,"maxLength":32},"locationName":{"nullable":true,"type":"string","minLength":1,"maxLength":200}},"required":["locationCode","languageCode","locationName"],"additionalProperties":false},"searchConsoleProperty":{"nullable":true,"type":"object","properties":{"siteUrl":{"type":"string","minLength":1},"integrationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"provider integration id"}},"required":["siteUrl","integrationId"],"additionalProperties":false},"analyticsProperty":{"nullable":true,"type":"object","properties":{"propertyId":{"type":"string","minLength":1},"displayName":{"nullable":true,"type":"string"},"integrationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"provider integration id"}},"required":["propertyId","displayName","integrationId"],"additionalProperties":false},"repositoryConnectionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"origin":{"type":"string","enum":["account_default","user_selected","legacy_backfill"]},"automationMode":{"type":"string","enum":["approve_first","autopilot","full_autonomy"]},"fullAutonomyConsent":{"nullable":true,"description":"Recorded owner/admin consent while automationMode is full_autonomy: who, when and the site revision it produced.","type":"object","properties":{"consentId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Consent grant identifier; binds full-autonomy repository changes and is read through marketing.seo.automationMode.detail."}},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"consentedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"contextRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["consentId","userId","consentedAt","contextRevision"],"additionalProperties":false},"indexingApiOptIn":{"type":"boolean"},"publicRoot":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"automationPaused":{"type":"boolean"},"automationPausedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"createdByUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"readiness":{"type":"object","properties":{"ready":{"type":"boolean"},"requirements":{"type":"array","items":{"type":"string","enum":["website","search_console","analytics","repository"]}},"missing":{"type":"array","items":{"type":"object","properties":{"requirement":{"type":"string","enum":["website","search_console","analytics","repository"]},"code":{"type":"string","enum":["website_missing","search_console_property_missing","search_console_connection_missing","search_console_connection_unavailable","analytics_property_missing","analytics_connection_missing","analytics_connection_unavailable","repository_connection_missing","repository_connection_unavailable"]},"message":{"type":"string","minLength":1},"recovery":{"type":"string","minLength":1}},"required":["requirement","code","message","recovery"],"additionalProperties":false}}},"required":["ready","requirements","missing"],"additionalProperties":false}},"required":["id","accountId","companyId","name","websiteUrl","domain","targetDomain","audience","offerSummary","services","goals","competitors","brandAliases","market","searchConsoleProperty","analyticsProperty","repositoryConnectionId","origin","automationMode","fullAutonomyConsent","indexingApiOptIn","publicRoot","automationPaused","automationPausedAt","revision","createdByUserId","createdAt","updatedAt","readiness"],"additionalProperties":false},"OperationMarketingSeoSiteContextGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_SITE_CONTEXT_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoSiteContextGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoSiteContextGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoSiteContextUpdateInput":{"type":"object","properties":{"contextId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO site context id"},"expectedRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":200},"companyId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"company id"},"websiteUrl":{"nullable":true,"type":"string","format":"uri"},"domain":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"targetDomain":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"audience":{"nullable":true,"type":"string","maxLength":2000},"offerSummary":{"nullable":true,"type":"string","maxLength":4000},"services":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"goals":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"competitors":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"brandAliases":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"string","minLength":1,"maxLength":100},"languageCode":{"type":"string","minLength":1,"maxLength":32},"locationName":{"nullable":true,"type":"string","minLength":1,"maxLength":200}},"additionalProperties":false},"searchConsoleProperty":{"nullable":true,"type":"object","properties":{"siteUrl":{"type":"string","minLength":1,"maxLength":2048},"integrationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"provider integration id"}},"additionalProperties":false},"analyticsProperty":{"nullable":true,"type":"object","properties":{"propertyId":{"type":"string","minLength":1,"maxLength":255},"displayName":{"nullable":true,"type":"string","minLength":1,"maxLength":255},"integrationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"provider integration id"}},"additionalProperties":false},"repositoryConnectionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"origin":{"nullable":true,"type":"string","enum":["account_default","user_selected","legacy_backfill"]},"automationMode":{"description":"approve_first or autopilot. Full autonomy is set only by marketing.seo.automationMode.update with recorded consent; any other mode here ends it.","type":"string","enum":["approve_first","autopilot"]},"indexingApiOptIn":{"type":"boolean"},"publicRoot":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"automationPaused":{"description":"Pauses new unattended effects, including approved queued actions; in-flight effects are reconciled. Resuming a person’s pause requires their explicit confirmation.","type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["contextId","expectedRevision"],"additionalProperties":false},"OperationMarketingSeoSiteContextUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO site context id"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"companyId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"company id"},"name":{"type":"string","minLength":1},"websiteUrl":{"nullable":true,"type":"string","minLength":1},"domain":{"nullable":true,"type":"string","minLength":1},"targetDomain":{"nullable":true,"type":"string","minLength":1},"audience":{"nullable":true,"type":"string"},"offerSummary":{"nullable":true,"type":"string"},"services":{"type":"array","items":{"type":"string"}},"goals":{"type":"array","items":{"type":"string"}},"competitors":{"type":"array","items":{"type":"string"}},"brandAliases":{"type":"array","items":{"type":"string"}},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"string","minLength":1,"maxLength":100},"languageCode":{"type":"string","minLength":1,"maxLength":32},"locationName":{"nullable":true,"type":"string","minLength":1,"maxLength":200}},"required":["locationCode","languageCode","locationName"],"additionalProperties":false},"searchConsoleProperty":{"nullable":true,"type":"object","properties":{"siteUrl":{"type":"string","minLength":1},"integrationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"provider integration id"}},"required":["siteUrl","integrationId"],"additionalProperties":false},"analyticsProperty":{"nullable":true,"type":"object","properties":{"propertyId":{"type":"string","minLength":1},"displayName":{"nullable":true,"type":"string"},"integrationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"provider integration id"}},"required":["propertyId","displayName","integrationId"],"additionalProperties":false},"repositoryConnectionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"origin":{"type":"string","enum":["account_default","user_selected","legacy_backfill"]},"automationMode":{"type":"string","enum":["approve_first","autopilot","full_autonomy"]},"fullAutonomyConsent":{"nullable":true,"description":"Recorded owner/admin consent while automationMode is full_autonomy: who, when and the site revision it produced.","type":"object","properties":{"consentId":{"type":"string","minLength":1,"x-moreflow-opaque":{"reason":"Consent grant identifier; binds full-autonomy repository changes and is read through marketing.seo.automationMode.detail."}},"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"consentedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"contextRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["consentId","userId","consentedAt","contextRevision"],"additionalProperties":false},"indexingApiOptIn":{"type":"boolean"},"publicRoot":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"automationPaused":{"type":"boolean"},"automationPausedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"revision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"createdByUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"user id"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","companyId","name","websiteUrl","domain","targetDomain","audience","offerSummary","services","goals","competitors","brandAliases","market","searchConsoleProperty","analyticsProperty","repositoryConnectionId","origin","automationMode","fullAutonomyConsent","indexingApiOptIn","publicRoot","automationPaused","automationPausedAt","revision","createdByUserId","createdAt","updatedAt"],"additionalProperties":false},"OperationMarketingSeoSiteContextUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_SITE_CONTEXT_NOT_FOUND","SEO_SITE_CONTEXT_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoSiteContextUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoSiteContextUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoTargetsCreateInput":{"type":"object","properties":{"connectionId":{"type":"string","minLength":1,"maxLength":200},"publicUrl":{"type":"string","minLength":1,"maxLength":2048},"candidates":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"publicUrl":{"type":"string","minLength":1,"maxLength":2048},"canonicalUrl":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"locale":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"sourcePath":{"type":"string","minLength":1,"maxLength":500},"contentType":{"type":"string","enum":["page","blog_article","technical_fix"]},"baseSha":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"configFingerprint":{"type":"string","minLength":1,"maxLength":200},"supportedEditActions":{"maxItems":4,"type":"array","items":{"type":"string","enum":["create_article","update_content","update_metadata","technical_fix"]}},"dynamicRoute":{"type":"boolean"},"readOnly":{"type":"boolean"},"supported":{"type":"boolean"}},"required":["publicUrl","sourcePath","contentType","configFingerprint","supportedEditActions"],"additionalProperties":false}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["connectionId","publicUrl"],"additionalProperties":false},"OperationMarketingSeoTargetsCreateOutput":{"type":"object","properties":{"targetId":{"type":"string","minLength":1,"maxLength":200},"accountId":{"type":"string","minLength":1,"maxLength":200},"connectionId":{"type":"string","minLength":1,"maxLength":200},"publicUrl":{"type":"string","minLength":1,"maxLength":2048},"canonicalUrl":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"locale":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"sourcePath":{"type":"string","minLength":1,"maxLength":500},"contentType":{"type":"string","enum":["page","blog_article","technical_fix"]},"baseSha":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"configFingerprint":{"type":"string","minLength":1,"maxLength":200},"supportedEditActions":{"maxItems":4,"type":"array","items":{"type":"string","enum":["create_article","update_content","update_metadata","technical_fix"]}},"confidence":{"type":"string","enum":["high","medium","low","unresolved"]},"confidenceReason":{"type":"string","minLength":1,"maxLength":500},"ambiguous":{"type":"boolean"},"dynamicRoute":{"type":"boolean"},"supported":{"type":"boolean"},"readOnly":{"type":"boolean"},"stale":{"type":"object","properties":{"base":{"type":"boolean"},"config":{"type":"boolean"}},"required":["base","config"],"additionalProperties":false},"verifiedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO target id"}},"required":["targetId","accountId","connectionId","publicUrl","canonicalUrl","locale","sourcePath","contentType","baseSha","configFingerprint","supportedEditActions","confidence","confidenceReason","ambiguous","dynamicRoute","supported","readOnly","stale","verifiedAt","id"],"additionalProperties":false},"OperationMarketingSeoTargetsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_REPOSITORY_CONNECTION_NOT_FOUND","SEO_REPOSITORY_CONNECTION_UNAVAILABLE","SEO_REPOSITORY_CONNECTION_UNSUPPORTED","SEO_REPOSITORY_CONNECTION_UNVERIFIED","SEO_TARGET_AMBIGUOUS","SEO_TARGET_DYNAMIC_ROUTE","SEO_TARGET_FORBIDDEN_PATH","SEO_TARGET_INVALID_URL","SEO_TARGET_NOT_FOUND","SEO_TARGET_READ_ONLY","SEO_TARGET_REVALIDATION_UNAVAILABLE","SEO_TARGET_SOURCE_NOT_ALLOWED","SEO_TARGET_UNSUPPORTED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoTargetsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoTargetsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoTargetsGetInput":{"type":"object","properties":{"targetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO target id"}},"required":["targetId"],"additionalProperties":false},"OperationMarketingSeoTargetsGetOutput":{"type":"object","properties":{"targetId":{"type":"string","minLength":1,"maxLength":200},"accountId":{"type":"string","minLength":1,"maxLength":200},"connectionId":{"type":"string","minLength":1,"maxLength":200},"publicUrl":{"type":"string","minLength":1,"maxLength":2048},"canonicalUrl":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"locale":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"sourcePath":{"type":"string","minLength":1,"maxLength":500},"contentType":{"type":"string","enum":["page","blog_article","technical_fix"]},"baseSha":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"configFingerprint":{"type":"string","minLength":1,"maxLength":200},"supportedEditActions":{"maxItems":4,"type":"array","items":{"type":"string","enum":["create_article","update_content","update_metadata","technical_fix"]}},"confidence":{"type":"string","enum":["high","medium","low","unresolved"]},"confidenceReason":{"type":"string","minLength":1,"maxLength":500},"ambiguous":{"type":"boolean"},"dynamicRoute":{"type":"boolean"},"supported":{"type":"boolean"},"readOnly":{"type":"boolean"},"stale":{"type":"object","properties":{"base":{"type":"boolean"},"config":{"type":"boolean"}},"required":["base","config"],"additionalProperties":false},"verifiedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO target id"}},"required":["targetId","accountId","connectionId","publicUrl","canonicalUrl","locale","sourcePath","contentType","baseSha","configFingerprint","supportedEditActions","confidence","confidenceReason","ambiguous","dynamicRoute","supported","readOnly","stale","verifiedAt","id"],"additionalProperties":false},"OperationMarketingSeoTargetsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_TARGET_NOT_FOUND","SEO_TARGET_REVALIDATION_UNAVAILABLE","SEO_TARGET_REFRESH_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoTargetsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoTargetsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoTargetsReconcileInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO site context id"},"limit":{"default":100,"description":"Most pages mapped in one call; the rest follow on the next call.","type":"integer","minimum":1,"maximum":200},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId"],"additionalProperties":false},"OperationMarketingSeoTargetsReconcileOutput":{"type":"object","properties":{"siteId":{"type":"string"},"connectionId":{"type":"string"},"created":{"type":"array","items":{"type":"object","properties":{"targetId":{"type":"string"},"publicUrl":{"type":"string"},"sourcePath":{"type":"string"}},"required":["targetId","publicUrl","sourcePath"],"additionalProperties":false}},"alreadyMapped":{"type":"integer","minimum":0,"maximum":9007199254740991},"unresolved":{"type":"array","items":{"type":"object","properties":{"publicUrl":{"type":"string"},"reason":{"type":"string","enum":["no_source","ambiguous_source","source_not_allowed","source_unreadable","unsafe_source"]}},"required":["publicUrl","reason"],"additionalProperties":false}},"remaining":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Known pages left for the next call because of the limit."},"treeTruncated":{"type":"boolean"}},"required":["siteId","connectionId","created","alreadyMapped","unresolved","remaining","treeTruncated"],"additionalProperties":false},"OperationMarketingSeoTargetsReconcileError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_SITE_CONTEXT_NOT_FOUND","SEO_SITE_REPOSITORY_NOT_LINKED","SEO_REPOSITORY_CONNECTION_NOT_FOUND","SEO_REPOSITORY_CONNECTION_UNAVAILABLE","SEO_REPOSITORY_CONNECTION_UNSUPPORTED","SEO_REPOSITORY_CONNECTION_UNVERIFIED","SEO_TARGET_READ_ONLY","SEO_TARGET_SOURCE_TREE_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoTargetsReconcileErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileErrorDefinitionSchema0"}}]},"OperationMarketingSeoTargetsReconcileErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileErrorDefinitionSchema1"}}]},"OperationMarketingSeoWebsiteChangesCreateInput":{"type":"object","properties":{"targetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"SEO target id"},"publicUrl":{"type":"string","minLength":1,"maxLength":2048},"structuredEdit":{"type":"object","properties":{"kind":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]},"before":{"type":"string","minLength":1,"maxLength":8000},"after":{"type":"string","minLength":1,"maxLength":8000},"expectedBaseSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"expectedSource":{"type":"string","minLength":1,"maxLength":65536},"baselineId":{"type":"string","minLength":1,"maxLength":200,"x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."}},"articleRevisionId":{"type":"string","minLength":1,"maxLength":300},"permissionRevision":{"type":"string","minLength":1,"maxLength":200},"articleId":{"type":"string","minLength":1,"maxLength":200},"approvedRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["kind","before","after","expectedBaseSha","expectedSource","baselineId","articleRevisionId"],"additionalProperties":false},"connectionId":{"type":"string","minLength":1,"maxLength":200},"action":{"type":"string","enum":["create_article","update_content","update_metadata","technical_fix"]},"articleId":{"type":"string","minLength":1,"maxLength":200},"articleRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"articleRevisionId":{"nullable":true,"type":"string","minLength":1,"maxLength":300},"goal":{"type":"string","minLength":1,"maxLength":2000},"targetPaths":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"requestPullRequest":{"default":true,"type":"boolean"},"evidence":{"default":{},"type":"object","properties":{"targetId":{"type":"string","minLength":1,"maxLength":200},"actionId":{"type":"string","minLength":1,"maxLength":200},"actionAuthorityRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"actionFenceToken":{"type":"string","minLength":1,"maxLength":200},"baselineId":{"x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."},"nullable":true,"type":"string","minLength":1,"maxLength":200},"evidenceRefs":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"publicUrl":{"type":"string","minLength":1,"maxLength":2048},"action":{"type":"string","enum":["create_article","update_content","update_metadata","technical_fix"]},"articleId":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"articleRevision":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"additionalProperties":false},"currentSource":{"type":"object","properties":{"baseSha":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"configFingerprint":{"nullable":true,"type":"string","minLength":1,"maxLength":200},"sourcePath":{"nullable":true,"type":"string","minLength":1,"maxLength":500},"readOnly":{"type":"boolean"},"supported":{"type":"boolean"}},"additionalProperties":false},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["goal","idempotencyKey"],"additionalProperties":false},"OperationMarketingSeoWebsiteChangesCreateOutput":{"type":"object","properties":{"preparedChangeId":{"type":"string","minLength":1,"maxLength":200},"accountId":{"type":"string","minLength":1,"maxLength":200},"targetId":{"type":"string","minLength":1,"maxLength":200},"connectionId":{"type":"string","minLength":1,"maxLength":200},"repositoryChangeId":{"type":"string","minLength":1,"maxLength":200},"articleRevisionId":{"nullable":true,"type":"string","minLength":1,"maxLength":300},"targetPaths":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"state":{"type":"string","enum":["queued","running","gate_failed","review_required","cancelled","prepared","failed"]},"humanRequiredReason":{"nullable":true,"type":"string","enum":["review","gate_failure","execution_failure","unsupported","stale_mapping","authority_revoked"]},"previewUrl":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"pullRequestUrl":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"diffUrl":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"id":{"type":"string"}},"required":["preparedChangeId","accountId","targetId","connectionId","repositoryChangeId","articleRevisionId","targetPaths","state","humanRequiredReason","previewUrl","pullRequestUrl","diffUrl","createdAt","updatedAt","id"],"additionalProperties":false},"OperationMarketingSeoWebsiteChangesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_ARTICLE_REVISION_NOT_APPROVED","SEO_ARTICLE_REVISION_REQUIRED","SEO_BASELINE_REQUIRED","SEO_EDIT_AMBIGUOUS","SEO_EDIT_EVIDENCE_REQUIRED","SEO_EDIT_FORBIDDEN_PATH","SEO_EDIT_LINK_TARGET_REQUIRED","SEO_EDIT_NO_CHANGE","SEO_EDIT_SCOPE_EXPANSION","SEO_EDIT_SEMANTIC_TARGET","SEO_EDIT_STALE_REVISION","SEO_EDIT_TEXT_NOT_APPROVED","SEO_EDIT_UNSUPPORTED_FORMAT","SEO_REPOSITORY_CONNECTION_NOT_FOUND","SEO_REPOSITORY_CONNECTION_UNAVAILABLE","SEO_REPOSITORY_CONNECTION_UNSUPPORTED","SEO_REPOSITORY_CONNECTION_UNVERIFIED","SEO_TARGET_ACTION_UNSUPPORTED","SEO_TARGET_AMBIGUOUS","SEO_TARGET_CONNECTION_MISMATCH","SEO_TARGET_DYNAMIC_ROUTE","SEO_TARGET_NOT_FOUND","SEO_TARGET_READ_ONLY","SEO_TARGET_REFRESH_CONFLICT","SEO_TARGET_REVALIDATION_UNAVAILABLE","SEO_TARGET_SCOPE_EXPANSION","SEO_TARGET_SHARED_TEMPLATE","SEO_TARGET_SOURCE_NOT_ALLOWED","SEO_TARGET_STALE_MAPPING","SEO_TARGET_UNSUPPORTED","SEO_WEBSITE_CHANGE_INVALID","SEO_WEBSITE_CHANGE_UNAVAILABLE","SEO_WEBSITE_EDITING_REQUIRES_GITHUB","SEO_WEBSITE_EXECUTION_ROUTE_REQUIRED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoWebsiteChangesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoWebsiteChangesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoWorkCreateInput":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200},"goal":{"type":"string","minLength":1,"maxLength":2000},"control":{"default":"delegated","type":"string","enum":["delegated","manual"]},"scope":{"default":{"keywordIds":[],"promptIds":[]},"type":"object","properties":{"targetDomain":{"type":"string","minLength":1,"maxLength":2048},"market":{"type":"object","properties":{"locationCode":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":16}},"required":["locationCode","languageCode"],"additionalProperties":false},"keywordIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"promptIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"additionalProperties":false},"constraints":{"default":{"maxMonthlyCostCents":0,"allowedOperationIds":[]},"type":"object","properties":{"maxMonthlyCostCents":{"type":"integer","minimum":0,"maximum":1000000},"allowedOperationIds":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["maxMonthlyCostCents"],"additionalProperties":false},"schedule":{"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","weekdays","monthly"]},"localTime":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"},"timeZone":{"type":"string","minLength":1,"maxLength":100},"weekDay":{"type":"integer","minimum":1,"maximum":7},"weekDays":{"maxItems":7,"type":"array","items":{"type":"integer","minimum":1,"maximum":7}},"monthDay":{"type":"integer","minimum":1,"maximum":31}},"required":["frequency","localTime","timeZone"],"additionalProperties":false},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["goal"]},"OperationMarketingSeoWorkCreateOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"createdByUserId":{"type":"string"},"title":{"type":"string","minLength":1,"maxLength":200},"goal":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"targetDomain":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":16}},"required":["locationCode","languageCode"],"additionalProperties":false},"keywordIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"promptIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["targetDomain","market","keywordIds","promptIds"],"additionalProperties":false},"constraints":{"type":"object","properties":{"maxMonthlyCostCents":{"type":"integer","minimum":0,"maximum":1000000},"allowedOperationIds":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"currency":{"type":"string","enum":["EUR"]}},"required":["maxMonthlyCostCents","allowedOperationIds","currency"],"additionalProperties":false},"control":{"type":"string","enum":["delegated","manual"]},"status":{"type":"string","enum":["active","paused","blocked","completed","redirected"]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextAction":{"type":"object","properties":{"kind":{"type":"string","enum":["research","measure","review","unsupported"]},"label":{"type":"string","minLength":1,"maxLength":500},"operationIds":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["kind","label","operationIds"],"additionalProperties":false},"scheduledGoalId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"schedule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","weekdays","monthly"]},"localTime":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"},"timeZone":{"type":"string","minLength":1,"maxLength":100},"weekDay":{"type":"integer","minimum":1,"maximum":7},"weekDays":{"maxItems":7,"type":"array","items":{"type":"integer","minimum":1,"maximum":7}},"monthDay":{"type":"integer","minimum":1,"maximum":31},"nextRunAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"status":{"type":"string","enum":["active","paused","archived"]}},"required":["frequency","localTime","timeZone","nextRunAt","status"],"additionalProperties":false}},"required":["id","accountId","createdByUserId","title","goal","scope","constraints","control","status","revision","nextAction","scheduledGoalId","createdAt","updatedAt","lastProgressAt","schedule"],"additionalProperties":false},"OperationMarketingSeoWorkCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_WORK_UNAVAILABLE","SEO_WORK_SCHEDULE_REQUIRES_FLOW","SEO_FLOW_SCHEDULE_UNAVAILABLE","SEO_FLOW_SCHEDULE_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoWorkCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoWorkCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateErrorDefinitionSchema1"}}]},"OperationMarketingSeoWorkGetInput":{"type":"object","properties":{"workId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["workId"]},"OperationMarketingSeoWorkGetOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"createdByUserId":{"type":"string"},"title":{"type":"string","minLength":1,"maxLength":200},"goal":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"targetDomain":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":16}},"required":["locationCode","languageCode"],"additionalProperties":false},"keywordIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"promptIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["targetDomain","market","keywordIds","promptIds"],"additionalProperties":false},"constraints":{"type":"object","properties":{"maxMonthlyCostCents":{"type":"integer","minimum":0,"maximum":1000000},"allowedOperationIds":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"currency":{"type":"string","enum":["EUR"]}},"required":["maxMonthlyCostCents","allowedOperationIds","currency"],"additionalProperties":false},"control":{"type":"string","enum":["delegated","manual"]},"status":{"type":"string","enum":["active","paused","blocked","completed","redirected"]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextAction":{"type":"object","properties":{"kind":{"type":"string","enum":["research","measure","review","unsupported"]},"label":{"type":"string","minLength":1,"maxLength":500},"operationIds":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["kind","label","operationIds"],"additionalProperties":false},"scheduledGoalId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"schedule":{"nullable":true,"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","weekdays","monthly"]},"localTime":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"},"timeZone":{"type":"string","minLength":1,"maxLength":100},"weekDay":{"type":"integer","minimum":1,"maximum":7},"weekDays":{"maxItems":7,"type":"array","items":{"type":"integer","minimum":1,"maximum":7}},"monthDay":{"type":"integer","minimum":1,"maximum":31},"nextRunAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"status":{"type":"string","enum":["active","paused","archived"]}},"required":["frequency","localTime","timeZone","nextRunAt","status"],"additionalProperties":false},"activityNextCursor":{"nullable":true,"type":"string"},"supportedActions":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"}},"required":["kind"],"additionalProperties":false}},"unsupportedActions":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"}},"required":["kind"],"additionalProperties":false}},"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"AccountId"},"workId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["created","steered","paused","resumed","taken_over","action_started","action_succeeded","action_failed","measurement","blocked","completed","redirected"]},"actor":{"type":"string","enum":["user","flow","system"]},"actorUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"UserId"},"operationId":{"nullable":true,"type":"string"},"summary":{"type":"string"},"data":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","workId","type","actor","actorUserId","operationId","summary","data","createdAt"],"additionalProperties":false}},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"AccountId"},"workId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"eventId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceOperationId":{"type":"string"},"kind":{"type":"string","enum":["action","measurement","blocker"]},"executed":{"type":"boolean"},"claim":{"type":"string","enum":["none","improved","declined","unchanged"]},"summary":{"type":"string"},"observations":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","minLength":1,"maxLength":100},"baselineValue":{"nullable":true,"type":"number"},"currentValue":{"nullable":true,"type":"number"},"targetValue":{"nullable":true,"type":"number"},"unit":{"nullable":true,"type":"string"}},"required":["metric","baselineValue","currentValue","targetValue","unit"],"additionalProperties":false}},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","workId","eventId","sourceOperationId","kind","executed","claim","summary","observations","recordedAt"],"additionalProperties":false}}},"required":["id","accountId","createdByUserId","title","goal","scope","constraints","control","status","revision","nextAction","scheduledGoalId","createdAt","updatedAt","lastProgressAt","schedule","activityNextCursor","supportedActions","unsupportedActions","events","evidence"],"additionalProperties":false},"OperationMarketingSeoWorkGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetOutputDefinitionSchema0"}}]},"OperationMarketingSeoWorkGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_WORK_UNAVAILABLE","SEO_WORK_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoWorkGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetErrorDefinitionSchema0"}}]},"OperationMarketingSeoWorkGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetErrorDefinitionSchema1"}}]},"OperationMarketingSeoWorkListInput":{"type":"object","properties":{"status":{"type":"string","enum":["active","paused","blocked","completed","redirected"]},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":1024}}},"OperationMarketingSeoWorkListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"createdByUserId":{"type":"string"},"title":{"type":"string","minLength":1,"maxLength":200},"goal":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"targetDomain":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":16}},"required":["locationCode","languageCode"],"additionalProperties":false},"keywordIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"promptIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["targetDomain","market","keywordIds","promptIds"],"additionalProperties":false},"constraints":{"type":"object","properties":{"maxMonthlyCostCents":{"type":"integer","minimum":0,"maximum":1000000},"allowedOperationIds":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"currency":{"type":"string","enum":["EUR"]}},"required":["maxMonthlyCostCents","allowedOperationIds","currency"],"additionalProperties":false},"control":{"type":"string","enum":["delegated","manual"]},"status":{"type":"string","enum":["active","paused","blocked","completed","redirected"]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextAction":{"type":"object","properties":{"kind":{"type":"string","enum":["research","measure","review","unsupported"]},"label":{"type":"string","minLength":1,"maxLength":500},"operationIds":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["kind","label","operationIds"],"additionalProperties":false},"scheduledGoalId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","createdByUserId","title","goal","scope","constraints","control","status","revision","nextAction","scheduledGoalId","createdAt","updatedAt","lastProgressAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"supportedActions":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"}},"required":["kind"],"additionalProperties":false}},"unsupportedActions":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"}},"required":["kind"],"additionalProperties":false}}},"required":["items","nextCursor","supportedActions","unsupportedActions"],"additionalProperties":false},"OperationMarketingSeoWorkListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_WORK_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoWorkListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListErrorDefinitionSchema0"}}]},"OperationMarketingSeoWorkListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListErrorDefinitionSchema1"}}]},"OperationMarketingSeoWorkUpdateInput":{"type":"object","properties":{"workId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"status":{"type":"string","enum":["active","paused","blocked","completed","redirected"]},"title":{"type":"string","minLength":1,"maxLength":200},"goal":{"type":"string","minLength":1,"maxLength":2000},"control":{"type":"string","enum":["delegated","manual"]},"scope":{"type":"object","properties":{"targetDomain":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":16}},"additionalProperties":false},"keywordIds":{"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"promptIds":{"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"additionalProperties":false},"constraints":{"type":"object","properties":{"maxMonthlyCostCents":{"type":"integer","minimum":0,"maximum":1000000},"allowedOperationIds":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"additionalProperties":false},"nextAction":{"type":"object","properties":{"kind":{"type":"string","enum":["research","measure","review","unsupported"]},"label":{"type":"string","minLength":1,"maxLength":500},"operationIds":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"additionalProperties":false},"summary":{"type":"string","minLength":1,"maxLength":500},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["workId","expectedRevision"]},"OperationMarketingSeoWorkUpdateOutput":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"createdByUserId":{"type":"string"},"title":{"type":"string","minLength":1,"maxLength":200},"goal":{"type":"string","minLength":1,"maxLength":2000},"scope":{"type":"object","properties":{"targetDomain":{"nullable":true,"type":"string","minLength":1,"maxLength":2048},"market":{"nullable":true,"type":"object","properties":{"locationCode":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"languageCode":{"type":"string","minLength":2,"maxLength":16}},"required":["locationCode","languageCode"],"additionalProperties":false},"keywordIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"promptIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["targetDomain","market","keywordIds","promptIds"],"additionalProperties":false},"constraints":{"type":"object","properties":{"maxMonthlyCostCents":{"type":"integer","minimum":0,"maximum":1000000},"allowedOperationIds":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"currency":{"type":"string","enum":["EUR"]}},"required":["maxMonthlyCostCents","allowedOperationIds","currency"],"additionalProperties":false},"control":{"type":"string","enum":["delegated","manual"]},"status":{"type":"string","enum":["active","paused","blocked","completed","redirected"]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextAction":{"type":"object","properties":{"kind":{"type":"string","enum":["research","measure","review","unsupported"]},"label":{"type":"string","minLength":1,"maxLength":500},"operationIds":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["kind","label","operationIds"],"additionalProperties":false},"scheduledGoalId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastProgressAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"event":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"AccountId"},"workId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["created","steered","paused","resumed","taken_over","action_started","action_succeeded","action_failed","measurement","blocked","completed","redirected"]},"actor":{"type":"string","enum":["user","flow","system"]},"actorUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"UserId"},"operationId":{"nullable":true,"type":"string"},"summary":{"type":"string"},"data":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","workId","type","actor","actorUserId","operationId","summary","data","createdAt"],"additionalProperties":false}},"required":["id","accountId","createdByUserId","title","goal","scope","constraints","control","status","revision","nextAction","scheduledGoalId","createdAt","updatedAt","lastProgressAt","event"],"additionalProperties":false},"OperationMarketingSeoWorkUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateOutputDefinitionSchema0"}}]},"OperationMarketingSeoWorkUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_WORK_UNAVAILABLE","SEO_WORK_NOT_FOUND","SEO_WORK_MANUAL_CONTROL","SEO_WORK_CONFLICT","SEO_FLOW_SCHEDULE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoWorkUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateErrorDefinitionSchema0"}}]},"OperationMarketingSeoWorkUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateErrorDefinitionSchema1"}}]},"OperationMarketingSeoWorkActivityListInput":{"type":"object","properties":{"workId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":1024}},"required":["workId"]},"OperationMarketingSeoWorkActivityListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"AccountId"},"workId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["created","steered","paused","resumed","taken_over","action_started","action_succeeded","action_failed","measurement","blocked","completed","redirected"]},"actor":{"type":"string","enum":["user","flow","system"]},"actorUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"UserId"},"operationId":{"nullable":true,"type":"string"},"summary":{"type":"string"},"data":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","workId","type","actor","actorUserId","operationId","summary","data","createdAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"AccountId"},"workId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"eventId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceOperationId":{"type":"string"},"kind":{"type":"string","enum":["action","measurement","blocker"]},"executed":{"type":"boolean"},"claim":{"type":"string","enum":["none","improved","declined","unchanged"]},"summary":{"type":"string"},"observations":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","minLength":1,"maxLength":100},"baselineValue":{"nullable":true,"type":"number"},"currentValue":{"nullable":true,"type":"number"},"targetValue":{"nullable":true,"type":"number"},"unit":{"nullable":true,"type":"string"}},"required":["metric","baselineValue","currentValue","targetValue","unit"],"additionalProperties":false}},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","workId","eventId","sourceOperationId","kind","executed","claim","summary","observations","recordedAt"],"additionalProperties":false}}},"required":["items","nextCursor","evidence"],"additionalProperties":false},"OperationMarketingSeoWorkActivityListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListOutputDefinitionSchema0"}}]},"OperationMarketingSeoWorkActivityListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_WORK_UNAVAILABLE","SEO_WORK_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoWorkActivityListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListErrorDefinitionSchema0"}}]},"OperationMarketingSeoWorkActivityListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListErrorDefinitionSchema1"}}]},"OperationMarketingSeoWorkEvidenceCreateInput":{"type":"object","properties":{"workId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"sourceOperationId":{"type":"string","minLength":1,"maxLength":255},"kind":{"type":"string","enum":["action","measurement","blocker"]},"executed":{"type":"boolean"},"claim":{"default":"none","type":"string","enum":["none","improved","declined","unchanged"]},"summary":{"type":"string","minLength":1,"maxLength":500},"observations":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","minLength":1,"maxLength":100},"baselineValue":{"type":"number"},"currentValue":{"type":"number"},"targetValue":{"type":"number"},"unit":{"type":"string","minLength":1,"maxLength":40}},"required":["metric"],"additionalProperties":false}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["workId","expectedRevision","sourceOperationId","kind","executed","summary"]},"OperationMarketingSeoWorkEvidenceCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"AccountId"},"workId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"eventId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceOperationId":{"type":"string"},"kind":{"type":"string","enum":["action","measurement","blocker"]},"executed":{"type":"boolean"},"claim":{"type":"string","enum":["none","improved","declined","unchanged"]},"summary":{"type":"string"},"observations":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","minLength":1,"maxLength":100},"baselineValue":{"nullable":true,"type":"number"},"currentValue":{"nullable":true,"type":"number"},"targetValue":{"nullable":true,"type":"number"},"unit":{"nullable":true,"type":"string"}},"required":["metric","baselineValue","currentValue","targetValue","unit"],"additionalProperties":false}},"recordedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"event":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"AccountId"},"workId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["created","steered","paused","resumed","taken_over","action_started","action_succeeded","action_failed","measurement","blocked","completed","redirected"]},"actor":{"type":"string","enum":["user","flow","system"]},"actorUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"UserId"},"operationId":{"nullable":true,"type":"string"},"summary":{"type":"string"},"data":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","workId","type","actor","actorUserId","operationId","summary","data","createdAt"],"additionalProperties":false}},"required":["id","accountId","workId","eventId","sourceOperationId","kind","executed","claim","summary","observations","recordedAt","event"],"additionalProperties":false},"OperationMarketingSeoWorkEvidenceCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateOutputDefinitionSchema0"}}]},"OperationMarketingSeoWorkEvidenceCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SEO_WORK_UNAVAILABLE","SEO_WORK_NOT_FOUND","SEO_WORK_MANUAL_CONTROL","SEO_WORK_CONFLICT","SEO_EVIDENCE_OPERATION_INVALID","SEO_EVIDENCE_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMarketingSeoWorkEvidenceCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateErrorDefinitionSchema0"}}]},"OperationMarketingSeoWorkEvidenceCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateErrorDefinitionSchema1"}}]},"OperationMediaAnalysisEstimateInput":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["assetId"]},"OperationMediaAnalysisEstimateOutput":{"type":"object","properties":{"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-opaque":{"reason":"A quote identifier binds a priced estimate to the start call that consumes it; pass the returned quote back unchanged."}},"inputFingerprint":{"type":"string","minLength":16,"maxLength":128},"revisionFingerprint":{"type":"string","minLength":16,"maxLength":128},"pricingVersion":{"type":"string","minLength":1,"maxLength":64},"spendDomain":{"type":"string","enum":["none","ai_generation"]},"estimatedMicroEuros":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Estimated retail AI usage in integer micro-euros; 1,000,000 = EUR 1."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"default":"EUR","type":"string","enum":["EUR"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reservedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"settledAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-opaque":{"reason":"A quote identifier binds a priced estimate to the start call that consumes it; pass the returned quote back unchanged."}},"cached":{"type":"boolean"}},"required":["quoteId","inputFingerprint","revisionFingerprint","pricingVersion","spendDomain","estimatedMicroEuros","estimatedCents","currency","expiresAt","reservedAt","settledAt","id","cached"],"additionalProperties":false},"OperationMediaAnalysisEstimateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaAnalysisEstimateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateErrorDefinitionSchema0"}}]},"OperationMediaAnalysisEstimateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateErrorDefinitionSchema1"}}]},"OperationMediaAnalysisEvidenceGetInput":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceVersion":{"type":"string","minLength":1},"analysisVersion":{"default":"media-analysis-v1","type":"string","minLength":1}},"required":["assetId","sourceVersion"]},"OperationMediaAnalysisEvidenceGetOutput":{"type":"object","properties":{"id":{"type":"string","x-moreflow-opaque":{"reason":"The source-version and analysis-version cache identity, resolved using the assetId and sourceVersion inputs."}},"evidence":{"nullable":true,"type":"object","properties":{"durationSeconds":{"type":"number","minimum":0},"width":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"height":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"audioPresent":{"type":"boolean"},"silent":{"type":"boolean"},"scenes":{"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"summary":{"type":"string","maxLength":500},"confidence":{"type":"number","minimum":0,"maximum":1}},"required":["startSeconds","endSeconds"],"additionalProperties":false}},"transcript":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500},"confidence":{"type":"number","minimum":0,"maximum":1}},"required":["startSeconds","endSeconds","text"],"additionalProperties":false}},"uncertainty":{"type":"string","maxLength":500}},"required":["audioPresent","silent","scenes","transcript"],"additionalProperties":false},"cacheKey":{"type":"string"}},"required":["id","evidence","cacheKey"],"additionalProperties":false},"OperationMediaAnalysisEvidenceGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","MEDIA_SOURCE_VERSION_STALE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaAnalysisEvidenceGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetErrorDefinitionSchema0"}}]},"OperationMediaAnalysisEvidenceGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetErrorDefinitionSchema1"}}]},"OperationMediaAnalysisGetInput":{"type":"object","properties":{"analysisId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media analysis id","x-moreflow-reference":{"resolver":"media.analysis.get"}}},"required":["analysisId"]},"OperationMediaAnalysisGetOutput":{"type":"object","properties":{"id":{"type":"string","x-moreflow-reference":{"resolver":"media.analysis.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceVersion":{"type":"string"},"analysisVersion":{"default":null,"nullable":true,"type":"string"},"cacheKey":{"default":null,"nullable":true,"type":"string"},"status":{"type":"string","enum":["queued","running","succeeded","failed"]},"scenes":{"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number"},"endSeconds":{"type":"number"},"label":{"type":"string"},"confidence":{"type":"number"}},"required":["startSeconds","endSeconds","label","confidence"],"additionalProperties":false}},"transcript":{"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number"},"endSeconds":{"type":"number"},"text":{"type":"string"},"confidence":{"type":"number"}},"required":["startSeconds","endSeconds","text","confidence"],"additionalProperties":false}},"evidence":{"default":null,"nullable":true,"type":"object","properties":{"durationSeconds":{"type":"number","minimum":0},"width":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"height":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"audioPresent":{"type":"boolean"},"silent":{"type":"boolean"},"scenes":{"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"summary":{"type":"string","maxLength":500},"confidence":{"type":"number","minimum":0,"maximum":1}},"required":["startSeconds","endSeconds"],"additionalProperties":false}},"transcript":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500},"confidence":{"type":"number","minimum":0,"maximum":1}},"required":["startSeconds","endSeconds","text"],"additionalProperties":false}},"uncertainty":{"type":"string","maxLength":500}},"required":["audioPresent","silent","scenes","transcript"],"additionalProperties":false},"quote":{"default":null,"nullable":true,"type":"object","properties":{"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-opaque":{"reason":"A quote identifier binds a priced estimate to the start call that consumes it; pass the returned quote back unchanged."}},"inputFingerprint":{"type":"string","minLength":16,"maxLength":128},"revisionFingerprint":{"type":"string","minLength":16,"maxLength":128},"pricingVersion":{"type":"string","minLength":1,"maxLength":64},"spendDomain":{"type":"string","enum":["none","ai_generation"]},"estimatedMicroEuros":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Estimated retail AI usage in integer micro-euros; 1,000,000 = EUR 1."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"default":"EUR","type":"string","enum":["EUR"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reservedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"settledAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["quoteId","inputFingerprint","revisionFingerprint","pricingVersion","spendDomain","estimatedMicroEuros","estimatedCents","currency","expiresAt","reservedAt","settledAt"],"additionalProperties":false},"failure":{"default":null,"nullable":true,"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"}},"required":["code","message","retryable"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","assetId","sourceVersion","analysisVersion","cacheKey","status","scenes","transcript","evidence","quote","failure","createdAt","updatedAt"],"additionalProperties":false},"OperationMediaAnalysisGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaAnalysisGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAnalysisGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisGetErrorDefinitionSchema0"}}]},"OperationMediaAnalysisGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAnalysisGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisGetErrorDefinitionSchema1"}}]},"OperationMediaAnalysisStartInput":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}},"quote":{"type":"object","properties":{"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-opaque":{"reason":"A quote identifier binds a priced estimate to the start call that consumes it; pass the returned quote back unchanged."}},"inputFingerprint":{"type":"string","minLength":16,"maxLength":128},"revisionFingerprint":{"type":"string","minLength":16,"maxLength":128},"pricingVersion":{"type":"string","minLength":1,"maxLength":64},"spendDomain":{"type":"string","enum":["none","ai_generation"]},"estimatedMicroEuros":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Estimated retail AI usage in integer micro-euros; 1,000,000 = EUR 1."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"default":"EUR","type":"string","enum":["EUR"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reservedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"settledAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["quoteId","inputFingerprint","revisionFingerprint","pricingVersion","spendDomain","estimatedMicroEuros","estimatedCents","expiresAt","reservedAt","settledAt"]},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["assetId","quote"]},"OperationMediaAnalysisStartOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media job id","x-moreflow-reference":{"resolver":"media.jobs.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"kind":{"type":"string","enum":["analysis","generation","transcription"]},"currency":{"default":"EUR","type":"string","enum":["EUR"]},"reservedCents":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"settledCents":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"reservedMicroEuros":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"settledMicroEuros":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"resourceId":{"type":"string","x-moreflow-opaque":{"reason":"The analysis, narration or render this job produces; resolve it with the media operation named by job.kind."}},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"cancellationRequested":{"default":false,"type":"boolean"},"idempotencyKey":{"default":null,"nullable":true,"type":"string"},"progress":{"type":"integer","minimum":0,"maximum":100},"providerTaskId":{"default":null,"x-moreflow-opaque":{"reason":"Provider task identifiers are opaque integration references."},"nullable":true,"type":"string"},"metadata":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisStartOutputDefinitionSchema0"},"description":"Extensible caller or provider metadata stored as JSON; preserves arbitrary keys and nested JSON values."},"error":{"default":null,"nullable":true,"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"recoveryOperationId":{"default":null,"nullable":true,"type":"string"}},"required":["code","message","retryable","recoveryOperationId"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"analysisId":{"type":"string","x-moreflow-reference":{"resolver":"media.analysis.get"}}},"required":["id","accountId","kind","currency","reservedCents","settledCents","reservedMicroEuros","settledMicroEuros","resourceId","status","cancellationRequested","idempotencyKey","progress","providerTaskId","metadata","error","createdAt","updatedAt","completedAt","analysisId"],"additionalProperties":false},"OperationMediaAnalysisStartOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAnalysisStartOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisStartOutputDefinitionSchema0"}}]},"OperationMediaAnalysisStartError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","MEDIA_CONCURRENCY_LIMIT","MEDIA_QUOTE_STALE","MEDIA_AI_USAGE_UNAVAILABLE","AI_QUOTA_EXCEEDED","SUBSCRIPTION_INACTIVE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisStartErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisStartErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaAnalysisStartErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAnalysisStartErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisStartErrorDefinitionSchema0"}}]},"OperationMediaAnalysisStartErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAnalysisStartErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAnalysisStartErrorDefinitionSchema1"}}]},"OperationMediaAssetsArchiveInput":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["assetId"]},"OperationMediaAssetsArchiveOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"ownerUserId":{"default":null,"nullable":true,"type":"string","x-moreflow-opaque":{"reason":"The user who owns this media resource; retained as ownership provenance."}},"sourceKind":{"type":"string","enum":["upload","generated","narration","render"]},"storageObjectId":{"default":null,"x-moreflow-opaque":{"reason":"Rendered output storage objects are served through media.assets.playbackUrl.get."},"nullable":true,"type":"string"},"contentType":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"default":null,"nullable":true,"type":"string","pattern":"^[0-9a-f]{64}$"},"durationSeconds":{"default":null,"nullable":true,"type":"number","minimum":0},"width":{"default":null,"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"height":{"default":null,"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"rotationDegrees":{"default":null,"nullable":true,"type":"integer","minimum":-360,"maximum":360},"title":{"default":null,"nullable":true,"type":"string"},"sourceRunId":{"default":null,"x-moreflow-opaque":{"reason":"The Flow run that generated the asset; it filters media.assets.list and links back to that run in Flow."},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"FlowRunId"},"sourceOperationId":{"default":null,"nullable":true,"type":"string","x-moreflow-opaque":{"reason":"The canonical registry operation that generated the asset."}},"variantIndex":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["active","archived","deleted"]},"sourceVersion":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveOutputDefinitionSchema0"},"description":"Extensible caller or provider metadata stored as JSON; preserves arbitrary keys and nested JSON values."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"archivedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","ownerUserId","sourceKind","storageObjectId","contentType","byteSize","sha256","durationSeconds","width","height","rotationDegrees","title","sourceRunId","sourceOperationId","variantIndex","status","sourceVersion","metadata","createdAt","updatedAt","archivedAt"],"additionalProperties":false},"OperationMediaAssetsArchiveOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveOutputDefinitionSchema0"}}]},"OperationMediaAssetsArchiveError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaAssetsArchiveErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveErrorDefinitionSchema0"}}]},"OperationMediaAssetsArchiveErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveErrorDefinitionSchema1"}}]},"OperationMediaAssetsCreateInput":{"type":"object","properties":{"storageObjectId":{"type":"string","minLength":1},"sourceKind":{"type":"string","enum":["upload","generated","narration","render"]},"contentType":{"type":"string","minLength":1,"maxLength":200},"byteSize":{"type":"integer","minimum":0,"maximum":262144000},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"finalized":{"default":true,"type":"boolean"},"width":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"height":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"rotationDegrees":{"type":"integer","minimum":-360,"maximum":360},"durationSeconds":{"type":"number","minimum":0,"maximum":1200},"title":{"type":"string","maxLength":500},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsCreateInputDefinitionSchema0"},"description":"Extensible caller or provider metadata stored as JSON; preserves arbitrary keys and nested JSON values."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["sourceKind","contentType","byteSize"]},"OperationMediaAssetsCreateInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsCreateInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsCreateInputDefinitionSchema0"}}]},"OperationMediaAssetsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"ownerUserId":{"default":null,"nullable":true,"type":"string","x-moreflow-opaque":{"reason":"The user who owns this media resource; retained as ownership provenance."}},"sourceKind":{"type":"string","enum":["upload","generated","narration","render"]},"storageObjectId":{"default":null,"x-moreflow-opaque":{"reason":"Rendered output storage objects are served through media.assets.playbackUrl.get."},"nullable":true,"type":"string"},"contentType":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"default":null,"nullable":true,"type":"string","pattern":"^[0-9a-f]{64}$"},"durationSeconds":{"default":null,"nullable":true,"type":"number","minimum":0},"width":{"default":null,"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"height":{"default":null,"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"rotationDegrees":{"default":null,"nullable":true,"type":"integer","minimum":-360,"maximum":360},"title":{"default":null,"nullable":true,"type":"string"},"sourceRunId":{"default":null,"x-moreflow-opaque":{"reason":"The Flow run that generated the asset; it filters media.assets.list and links back to that run in Flow."},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"FlowRunId"},"sourceOperationId":{"default":null,"nullable":true,"type":"string","x-moreflow-opaque":{"reason":"The canonical registry operation that generated the asset."}},"variantIndex":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["active","archived","deleted"]},"sourceVersion":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsCreateOutputDefinitionSchema0"},"description":"Extensible caller or provider metadata stored as JSON; preserves arbitrary keys and nested JSON values."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"archivedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","ownerUserId","sourceKind","storageObjectId","contentType","byteSize","sha256","durationSeconds","width","height","rotationDegrees","title","sourceRunId","sourceOperationId","variantIndex","status","sourceVersion","metadata","createdAt","updatedAt","archivedAt"],"additionalProperties":false},"OperationMediaAssetsCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsCreateOutputDefinitionSchema0"}}]},"OperationMediaAssetsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","MEDIA_ASSET_INVALID","MEDIA_ASSET_NOT_FOUND","MEDIA_CONTENT_TYPE_UNSUPPORTED","MEDIA_DURATION_LIMIT","MEDIA_STORAGE_REFERENCE_REQUIRED","MEDIA_TOO_LARGE","MEDIA_SIZE_INVALID","MEDIA_NOT_FINALIZED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaAssetsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsCreateErrorDefinitionSchema0"}}]},"OperationMediaAssetsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsCreateErrorDefinitionSchema1"}}]},"OperationMediaAssetsGetInput":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["assetId"]},"OperationMediaAssetsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"ownerUserId":{"default":null,"nullable":true,"type":"string","x-moreflow-opaque":{"reason":"The user who owns this media resource; retained as ownership provenance."}},"sourceKind":{"type":"string","enum":["upload","generated","narration","render"]},"storageObjectId":{"default":null,"x-moreflow-opaque":{"reason":"Rendered output storage objects are served through media.assets.playbackUrl.get."},"nullable":true,"type":"string"},"contentType":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"default":null,"nullable":true,"type":"string","pattern":"^[0-9a-f]{64}$"},"durationSeconds":{"default":null,"nullable":true,"type":"number","minimum":0},"width":{"default":null,"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"height":{"default":null,"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"rotationDegrees":{"default":null,"nullable":true,"type":"integer","minimum":-360,"maximum":360},"title":{"default":null,"nullable":true,"type":"string"},"sourceRunId":{"default":null,"x-moreflow-opaque":{"reason":"The Flow run that generated the asset; it filters media.assets.list and links back to that run in Flow."},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"FlowRunId"},"sourceOperationId":{"default":null,"nullable":true,"type":"string","x-moreflow-opaque":{"reason":"The canonical registry operation that generated the asset."}},"variantIndex":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["active","archived","deleted"]},"sourceVersion":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsGetOutputDefinitionSchema0"},"description":"Extensible caller or provider metadata stored as JSON; preserves arbitrary keys and nested JSON values."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"archivedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","ownerUserId","sourceKind","storageObjectId","contentType","byteSize","sha256","durationSeconds","width","height","rotationDegrees","title","sourceRunId","sourceOperationId","variantIndex","status","sourceVersion","metadata","createdAt","updatedAt","archivedAt"],"additionalProperties":false},"OperationMediaAssetsGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsGetOutputDefinitionSchema0"}}]},"OperationMediaAssetsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaAssetsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsGetErrorDefinitionSchema0"}}]},"OperationMediaAssetsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsGetErrorDefinitionSchema1"}}]},"OperationMediaAssetsListInput":{"type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":4096},"sourceKind":{"type":"string","enum":["upload","generated","narration","render"]},"sourceRunId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-opaque":{"reason":"The Flow run that generated the asset; it filters media.assets.list and links back to that run in Flow."}}}},"OperationMediaAssetsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"ownerUserId":{"default":null,"nullable":true,"type":"string","x-moreflow-opaque":{"reason":"The user who owns this media resource; retained as ownership provenance."}},"sourceKind":{"type":"string","enum":["upload","generated","narration","render"]},"storageObjectId":{"default":null,"x-moreflow-opaque":{"reason":"Rendered output storage objects are served through media.assets.playbackUrl.get."},"nullable":true,"type":"string"},"contentType":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"default":null,"nullable":true,"type":"string","pattern":"^[0-9a-f]{64}$"},"durationSeconds":{"default":null,"nullable":true,"type":"number","minimum":0},"width":{"default":null,"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"height":{"default":null,"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"rotationDegrees":{"default":null,"nullable":true,"type":"integer","minimum":-360,"maximum":360},"title":{"default":null,"nullable":true,"type":"string"},"sourceRunId":{"default":null,"x-moreflow-opaque":{"reason":"The Flow run that generated the asset; it filters media.assets.list and links back to that run in Flow."},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"FlowRunId"},"sourceOperationId":{"default":null,"nullable":true,"type":"string","x-moreflow-opaque":{"reason":"The canonical registry operation that generated the asset."}},"variantIndex":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["active","archived","deleted"]},"sourceVersion":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsListOutputDefinitionSchema0"},"description":"Extensible caller or provider metadata stored as JSON; preserves arbitrary keys and nested JSON values."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"archivedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","ownerUserId","sourceKind","storageObjectId","contentType","byteSize","sha256","durationSeconds","width","height","rotationDegrees","title","sourceRunId","sourceOperationId","variantIndex","status","sourceVersion","metadata","createdAt","updatedAt","archivedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationMediaAssetsListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsListOutputDefinitionSchema0"}}]},"OperationMediaAssetsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaAssetsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsListErrorDefinitionSchema0"}}]},"OperationMediaAssetsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsListErrorDefinitionSchema1"}}]},"OperationMediaAssetsPlaybackUrlBatchGetInput":{"type":"object","properties":{"assetIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}},"x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["assetIds"]},"OperationMediaAssetsPlaybackUrlBatchGetOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}},"url":{"nullable":true,"type":"string","format":"uri"},"expiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"error":{"nullable":true,"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false}},"required":["id","url","expiresAt","error"],"additionalProperties":false}}},"required":["items"],"additionalProperties":false},"OperationMediaAssetsPlaybackUrlBatchGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaAssetsPlaybackUrlBatchGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetErrorDefinitionSchema0"}}]},"OperationMediaAssetsPlaybackUrlBatchGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetErrorDefinitionSchema1"}}]},"OperationMediaAssetsPlaybackUrlGetInput":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}},"fileName":{"type":"string","maxLength":255}},"required":["assetId"]},"OperationMediaAssetsPlaybackUrlGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media asset id","x-moreflow-reference":{"resolver":"media.assets.get"}},"url":{"nullable":true,"type":"string","format":"uri"},"expiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","url","expiresAt"],"additionalProperties":false},"OperationMediaAssetsPlaybackUrlGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaAssetsPlaybackUrlGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetErrorDefinitionSchema0"}}]},"OperationMediaAssetsPlaybackUrlGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetErrorDefinitionSchema1"}}]},"OperationMediaJobsCancelInput":{"type":"object","properties":{"jobId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media job id","x-moreflow-reference":{"resolver":"media.jobs.get"}}},"required":["jobId"]},"OperationMediaJobsCancelOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media job id","x-moreflow-reference":{"resolver":"media.jobs.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"kind":{"type":"string","enum":["analysis","generation","transcription"]},"currency":{"default":"EUR","type":"string","enum":["EUR"]},"reservedCents":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"settledCents":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"reservedMicroEuros":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"settledMicroEuros":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"resourceId":{"type":"string","x-moreflow-opaque":{"reason":"The analysis, narration or render this job produces; resolve it with the media operation named by job.kind."}},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"cancellationRequested":{"default":false,"type":"boolean"},"idempotencyKey":{"default":null,"nullable":true,"type":"string"},"progress":{"type":"integer","minimum":0,"maximum":100},"providerTaskId":{"default":null,"x-moreflow-opaque":{"reason":"Provider task identifiers are opaque integration references."},"nullable":true,"type":"string"},"metadata":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsCancelOutputDefinitionSchema0"},"description":"Extensible caller or provider metadata stored as JSON; preserves arbitrary keys and nested JSON values."},"error":{"default":null,"nullable":true,"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"recoveryOperationId":{"default":null,"nullable":true,"type":"string"}},"required":["code","message","retryable","recoveryOperationId"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","kind","currency","reservedCents","settledCents","reservedMicroEuros","settledMicroEuros","resourceId","status","cancellationRequested","idempotencyKey","progress","providerTaskId","metadata","error","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationMediaJobsCancelOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaJobsCancelOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsCancelOutputDefinitionSchema0"}}]},"OperationMediaJobsCancelError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsCancelErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsCancelErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaJobsCancelErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaJobsCancelErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsCancelErrorDefinitionSchema0"}}]},"OperationMediaJobsCancelErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaJobsCancelErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsCancelErrorDefinitionSchema1"}}]},"OperationMediaJobsGetInput":{"type":"object","properties":{"jobId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media job id","x-moreflow-reference":{"resolver":"media.jobs.get"}}},"required":["jobId"]},"OperationMediaJobsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media job id","x-moreflow-reference":{"resolver":"media.jobs.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"kind":{"type":"string","enum":["analysis","generation","transcription"]},"currency":{"default":"EUR","type":"string","enum":["EUR"]},"reservedCents":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"settledCents":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"reservedMicroEuros":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"settledMicroEuros":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"resourceId":{"type":"string","x-moreflow-opaque":{"reason":"The analysis, narration or render this job produces; resolve it with the media operation named by job.kind."}},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"cancellationRequested":{"default":false,"type":"boolean"},"idempotencyKey":{"default":null,"nullable":true,"type":"string"},"progress":{"type":"integer","minimum":0,"maximum":100},"providerTaskId":{"default":null,"x-moreflow-opaque":{"reason":"Provider task identifiers are opaque integration references."},"nullable":true,"type":"string"},"metadata":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsGetOutputDefinitionSchema0"},"description":"Extensible caller or provider metadata stored as JSON; preserves arbitrary keys and nested JSON values."},"error":{"default":null,"nullable":true,"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"recoveryOperationId":{"default":null,"nullable":true,"type":"string"}},"required":["code","message","retryable","recoveryOperationId"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","kind","currency","reservedCents","settledCents","reservedMicroEuros","settledMicroEuros","resourceId","status","cancellationRequested","idempotencyKey","progress","providerTaskId","metadata","error","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationMediaJobsGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaJobsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsGetOutputDefinitionSchema0"}}]},"OperationMediaJobsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaJobsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaJobsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsGetErrorDefinitionSchema0"}}]},"OperationMediaJobsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaJobsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsGetErrorDefinitionSchema1"}}]},"OperationMediaJobsReconcileInput":{"type":"object","properties":{"jobId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media job id","x-moreflow-reference":{"resolver":"media.jobs.get"}}},"required":["jobId"]},"OperationMediaJobsReconcileOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"media job id","x-moreflow-reference":{"resolver":"media.jobs.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"kind":{"type":"string","enum":["analysis","generation","transcription"]},"currency":{"default":"EUR","type":"string","enum":["EUR"]},"reservedCents":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"settledCents":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"reservedMicroEuros":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"settledMicroEuros":{"default":null,"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"resourceId":{"type":"string","x-moreflow-opaque":{"reason":"The analysis, narration or render this job produces; resolve it with the media operation named by job.kind."}},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"cancellationRequested":{"default":false,"type":"boolean"},"idempotencyKey":{"default":null,"nullable":true,"type":"string"},"progress":{"type":"integer","minimum":0,"maximum":100},"providerTaskId":{"default":null,"x-moreflow-opaque":{"reason":"Provider task identifiers are opaque integration references."},"nullable":true,"type":"string"},"metadata":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsReconcileOutputDefinitionSchema0"},"description":"Extensible caller or provider metadata stored as JSON; preserves arbitrary keys and nested JSON values."},"error":{"default":null,"nullable":true,"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"recoveryOperationId":{"default":null,"nullable":true,"type":"string"}},"required":["code","message","retryable","recoveryOperationId"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","kind","currency","reservedCents","settledCents","reservedMicroEuros","settledMicroEuros","resourceId","status","cancellationRequested","idempotencyKey","progress","providerTaskId","metadata","error","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationMediaJobsReconcileOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaJobsReconcileOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsReconcileOutputDefinitionSchema0"}}]},"OperationMediaJobsReconcileError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsReconcileErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsReconcileErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaJobsReconcileErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaJobsReconcileErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsReconcileErrorDefinitionSchema0"}}]},"OperationMediaJobsReconcileErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaJobsReconcileErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaJobsReconcileErrorDefinitionSchema1"}}]},"OperationMediaUploadSessionsCancelInput":{"type":"object","properties":{"uploadSessionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}}},"required":["uploadSessionId"]},"OperationMediaUploadSessionsCancelOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"storageObjectId":{"type":"string","x-moreflow-opaque":{"reason":"Rendered output storage objects are served through media.assets.playbackUrl.get."}},"contentType":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"partSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"expectedPartCount":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"sha256":{"default":null,"nullable":true,"type":"string","pattern":"^[0-9a-f]{64}$"},"fingerprint":{"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"status":{"type":"string","enum":["pending","uploading","completed","failed","aborted","expired"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"staleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"parts":{"type":"array","items":{"type":"object","properties":{"partNumber":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"etag":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"checksumSha256Base64":{"default":null,"nullable":true,"type":"string"},"uploadedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["partNumber","etag","byteSize","checksumSha256Base64","uploadedAt"],"additionalProperties":false}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","storageObjectId","contentType","byteSize","partSize","expectedPartCount","sha256","fingerprint","provider","status","expiresAt","staleAt","parts","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationMediaUploadSessionsCancelError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","MEDIA_UPLOAD_SESSION_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaUploadSessionsCancelErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelErrorDefinitionSchema0"}}]},"OperationMediaUploadSessionsCancelErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelErrorDefinitionSchema1"}}]},"OperationMediaUploadSessionsCompleteInput":{"type":"object","properties":{"uploadSessionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["uploadSessionId"]},"OperationMediaUploadSessionsCompleteOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"storageObjectId":{"type":"string","x-moreflow-opaque":{"reason":"Rendered output storage objects are served through media.assets.playbackUrl.get."}},"contentType":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"partSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"expectedPartCount":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"sha256":{"default":null,"nullable":true,"type":"string","pattern":"^[0-9a-f]{64}$"},"fingerprint":{"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"status":{"type":"string","enum":["pending","uploading","completed","failed","aborted","expired"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"staleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"parts":{"type":"array","items":{"type":"object","properties":{"partNumber":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"etag":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"checksumSha256Base64":{"default":null,"nullable":true,"type":"string"},"uploadedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["partNumber","etag","byteSize","checksumSha256Base64","uploadedAt"],"additionalProperties":false}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","storageObjectId","contentType","byteSize","partSize","expectedPartCount","sha256","fingerprint","provider","status","expiresAt","staleAt","parts","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationMediaUploadSessionsCompleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","MEDIA_UPLOAD_COMPLETE_FAILED","MEDIA_UPLOAD_CONTRACT_INVALID","MEDIA_UPLOAD_INCOMPLETE","MEDIA_UPLOAD_SESSION_CLOSED","MEDIA_UPLOAD_SESSION_NOT_FOUND","MEDIA_UPLOAD_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaUploadSessionsCompleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteErrorDefinitionSchema0"}}]},"OperationMediaUploadSessionsCompleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteErrorDefinitionSchema1"}}]},"OperationMediaUploadSessionsPartCompleteInput":{"type":"object","properties":{"uploadSessionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}},"partNumber":{"type":"integer","minimum":1,"maximum":10000},"etag":{"type":"string","minLength":1,"maxLength":512},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"checksumSha256Base64":{"type":"string","minLength":1}},"required":["uploadSessionId","partNumber","etag","byteSize"]},"OperationMediaUploadSessionsPartCompleteOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"storageObjectId":{"type":"string","x-moreflow-opaque":{"reason":"Rendered output storage objects are served through media.assets.playbackUrl.get."}},"contentType":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"partSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"expectedPartCount":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"sha256":{"default":null,"nullable":true,"type":"string","pattern":"^[0-9a-f]{64}$"},"fingerprint":{"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"status":{"type":"string","enum":["pending","uploading","completed","failed","aborted","expired"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"staleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"parts":{"type":"array","items":{"type":"object","properties":{"partNumber":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"etag":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"checksumSha256Base64":{"default":null,"nullable":true,"type":"string"},"uploadedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["partNumber","etag","byteSize","checksumSha256Base64","uploadedAt"],"additionalProperties":false}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","storageObjectId","contentType","byteSize","partSize","expectedPartCount","sha256","fingerprint","provider","status","expiresAt","staleAt","parts","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationMediaUploadSessionsPartCompleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","MEDIA_UPLOAD_PART_INVALID","MEDIA_UPLOAD_SESSION_CLOSED","MEDIA_UPLOAD_SESSION_NOT_FOUND","MEDIA_UPLOAD_SIZE_MISMATCH"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaUploadSessionsPartCompleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteErrorDefinitionSchema0"}}]},"OperationMediaUploadSessionsPartCompleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteErrorDefinitionSchema1"}}]},"OperationMediaUploadSessionsPartUrlsCreateInput":{"type":"object","properties":{"uploadSessionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}},"partNumbers":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"integer","minimum":1,"maximum":10000}}},"required":["uploadSessionId","partNumbers"]},"OperationMediaUploadSessionsPartUrlsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}},"uploadSessionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}},"urls":{"type":"array","items":{"type":"object","properties":{"partNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string","format":"uri"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["partNumber","url","expiresAt"],"additionalProperties":false}}},"required":["id","uploadSessionId","urls"],"additionalProperties":false},"OperationMediaUploadSessionsPartUrlsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","MEDIA_UPLOAD_PART_INVALID","MEDIA_UPLOAD_PRESIGN_FAILED","MEDIA_UPLOAD_SESSION_CLOSED","MEDIA_UPLOAD_SESSION_NOT_FOUND","MEDIA_UPLOAD_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaUploadSessionsPartUrlsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateErrorDefinitionSchema0"}}]},"OperationMediaUploadSessionsPartUrlsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateErrorDefinitionSchema1"}}]},"OperationMediaUploadSessionsStartInput":{"type":"object","properties":{"contentType":{"type":"string","minLength":1,"maxLength":200},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":262144000},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"fingerprint":{"type":"string","minLength":16,"maxLength":512},"partSize":{"default":16777216,"type":"integer","minimum":5242880,"maximum":536870912},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["contentType","byteSize"]},"OperationMediaUploadSessionsStartOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"storageObjectId":{"type":"string","x-moreflow-opaque":{"reason":"Rendered output storage objects are served through media.assets.playbackUrl.get."}},"contentType":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"partSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"expectedPartCount":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"sha256":{"default":null,"nullable":true,"type":"string","pattern":"^[0-9a-f]{64}$"},"fingerprint":{"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"status":{"type":"string","enum":["pending","uploading","completed","failed","aborted","expired"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"staleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"parts":{"type":"array","items":{"type":"object","properties":{"partNumber":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"etag":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"checksumSha256Base64":{"default":null,"nullable":true,"type":"string"},"uploadedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["partNumber","etag","byteSize","checksumSha256Base64","uploadedAt"],"additionalProperties":false}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","storageObjectId","contentType","byteSize","partSize","expectedPartCount","sha256","fingerprint","provider","status","expiresAt","staleAt","parts","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationMediaUploadSessionsStartError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","MEDIA_UPLOAD_BEGIN_FAILED","MEDIA_UPLOAD_CONTRACT_INVALID","MEDIA_UPLOAD_UNAVAILABLE","MEDIA_TYPE_UNSUPPORTED","MEDIA_SIZE_INVALID","MEDIA_TOO_LARGE","MEDIA_UPLOAD_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaUploadSessionsStartErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartErrorDefinitionSchema0"}}]},"OperationMediaUploadSessionsStartErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartErrorDefinitionSchema1"}}]},"OperationMediaUploadSessionsStatusGetInput":{"type":"object","properties":{"uploadSessionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}}},"required":["uploadSessionId"]},"OperationMediaUploadSessionsStatusGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"media.uploadSessions.status.get"}},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"storageObjectId":{"type":"string","x-moreflow-opaque":{"reason":"Rendered output storage objects are served through media.assets.playbackUrl.get."}},"contentType":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"partSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"expectedPartCount":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"sha256":{"default":null,"nullable":true,"type":"string","pattern":"^[0-9a-f]{64}$"},"fingerprint":{"type":"string"},"provider":{"default":null,"nullable":true,"type":"string"},"status":{"type":"string","enum":["pending","uploading","completed","failed","aborted","expired"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"staleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"parts":{"type":"array","items":{"type":"object","properties":{"partNumber":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"etag":{"type":"string"},"byteSize":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"checksumSha256Base64":{"default":null,"nullable":true,"type":"string"},"uploadedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["partNumber","etag","byteSize","checksumSha256Base64","uploadedAt"],"additionalProperties":false}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","storageObjectId","contentType","byteSize","partSize","expectedPartCount","sha256","fingerprint","provider","status","expiresAt","staleAt","parts","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationMediaUploadSessionsStatusGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMediaUploadSessionsStatusGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetErrorDefinitionSchema0"}}]},"OperationMediaUploadSessionsStatusGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetErrorDefinitionSchema1"}}]},"OperationMeetingsAvailabilityGetInput":{"type":"object","properties":{"meetingTypeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"meeting type id","x-domain-id":"MeetingTypeId"},"excludeMeetingId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Meeting to exclude from availability.","x-domain-id":"MeetingId"},"calendarId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Calendar to use when calculating availability.","x-domain-id":"CalendarId"},"availabilityDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"UTC calendar date for which availability is requested."},"mode":{"type":"string","enum":["optimized","all"],"description":"Whether to return spaced or every available slot."},"intervalMinutes":{"type":"integer","minimum":5,"maximum":120,"description":"Interval in minutes between candidate slots."},"bufferBeforeMinutes":{"type":"integer","minimum":0,"maximum":1440,"description":"Minutes kept free before the meeting."},"bufferAfterMinutes":{"type":"integer","minimum":0,"maximum":1440,"description":"Minutes kept free after the meeting."},"blockAllDayEvents":{"type":"boolean","description":"Whether all-day external events block availability."}},"required":["meetingTypeId","availabilityDate"],"additionalProperties":false},"OperationMeetingsAvailabilityGetOutput":{"type":"object","properties":{"timezone":{"type":"string","description":"IANA timezone used to calculate the slots."},"slots":{"type":"array","items":{"type":"string"},"description":"Available local start times for the requested date."},"degraded":{"type":"boolean","description":"Whether availability was returned with reduced capability."},"availabilitySources":{"type":"object","properties":{"externalCalendar":{"type":"string","enum":["available","degraded","not_required"],"description":"External calendar state considered by the operation."}},"required":["externalCalendar"],"additionalProperties":false,"description":"Sources consulted while calculating availability."},"availabilityWindows":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Number of configured availability windows considered."},"blockingMeetings":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Number of Moreflow meetings blocking the requested window."},"blockingReservations":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Number of temporary reservations blocking the requested window."},"blockingExternalEvents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Number of external calendar events blocking the requested window."},"slotSeats":{"default":null,"nullable":true,"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"id":{"type":"string"},"availabilityDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["timezone","slots","degraded","availabilitySources","availabilityWindows","blockingMeetings","blockingReservations","blockingExternalEvents","slotSeats","id","availabilityDate"],"additionalProperties":false},"OperationMeetingsAvailabilityGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMeetingsAvailabilityGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetErrorDefinitionSchema0"}}]},"OperationMeetingsAvailabilityGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetErrorDefinitionSchema1"}}]},"OperationMeetingsCancelInput":{"type":"object","properties":{"meetingId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Meeting to cancel.","x-domain-id":"MeetingId"},"cancellationReason":{"type":"string","description":"Human-readable reason for cancellation."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["meetingId"]},"OperationMeetingsCancelOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable Moreflow meeting identifier.","x-domain-id":"MeetingId"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Account that owns this meeting.","x-domain-id":"AccountId"},"meetingTypeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Meeting type used to create this meeting.","x-domain-id":"MeetingTypeId"},"calendarId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Calendar containing this meeting.","x-domain-id":"CalendarId"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this meeting.","x-domain-id":"ClientId"},"title":{"type":"string","description":"Meeting title."},"status":{"type":"string","enum":["scheduled","rescheduled","cancelled","completed","no_show"],"description":"Current meeting lifecycle status."},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when the meeting starts."},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when the meeting ends."},"timezone":{"type":"string","description":"IANA timezone used for the meeting."},"locationType":{"type":"string","enum":["physical","phone","google_meet","microsoft_teams","fahrplan","custom_link","moreflow_room"],"description":"Location or meeting provider used for this meeting."},"guestEmail":{"default":null,"nullable":true,"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Guest email address."},"guestName":{"default":null,"nullable":true,"type":"string","description":"Guest display name."},"cancellationReason":{"default":null,"nullable":true,"type":"string","description":"Human-readable reason for cancellation."},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCancelOutputDefinitionSchema0"},"description":"Additional meeting metadata."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this meeting was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this meeting was last updated."},"groupSessionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Group session this attendee meeting belongs to; null for one-to-one meetings.","x-domain-id":"SchedulingGroupSessionId"}},"required":["id","accountId","meetingTypeId","calendarId","clientId","title","status","startsAt","endsAt","timezone","locationType","guestEmail","guestName","cancellationReason","metadata","createdAt","updatedAt","groupSessionId"],"additionalProperties":false},"OperationMeetingsCancelOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsCancelOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCancelOutputDefinitionSchema0"}}]},"OperationMeetingsCancelError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","INVALID_STATE","CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCancelErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCancelErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMeetingsCancelErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsCancelErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCancelErrorDefinitionSchema0"}}]},"OperationMeetingsCancelErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsCancelErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCancelErrorDefinitionSchema1"}}]},"OperationMeetingsCreateInput":{"type":"object","properties":{"meetingTypeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Meeting type to book.","x-domain-id":"MeetingTypeId"},"calendarId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Calendar in which to schedule the meeting.","x-domain-id":"CalendarId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client to associate with the meeting.","x-domain-id":"ClientId"},"paymentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Internal payment associated with the booking.","x-domain-id":"PaymentId"},"title":{"type":"string","minLength":1,"description":"Meeting title."},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC ISO 8601 timestamp when the meeting starts."},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC ISO 8601 timestamp when the meeting ends. Omit it to book the meeting type's current duration (recommended for slot pickers); pass it only for a deliberately custom length."},"timezone":{"type":"string","minLength":1,"description":"IANA timezone used for the meeting."},"locationType":{"type":"string","enum":["physical","phone","google_meet","microsoft_teams","fahrplan","custom_link","moreflow_room"],"description":"Location or meeting provider used for the booking."},"guestEmail":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Guest email address. For a client meeting it must be one of the client's saved email addresses (otherwise RECIPIENT_NOT_ON_CLIENT); prefer recipient.contactPointId. Defaults to the client's primary email."},"recipient":{"description":"Client meeting only: saved client email that receives the invitation and becomes guestEmail. Omit it to use guestEmail or the client's primary email. Free-form addresses are not accepted.","type":"object","properties":{"contactPointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Id of one of the client's saved email addresses or phone numbers (client.emails[].id / client.phones[].id, or a candidate id from clients.recipients.resolve).","x-moreflow-reference":{"resolver":"clients.get"}}},"required":["contactPointId"],"additionalProperties":false},"guestName":{"type":"string","description":"Guest display name."},"providerEventId":{"type":"string","description":"Internal provider event identifier."},"reservationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Internal booking reservation to consume.","x-domain-id":"SlotReservationId"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCreateInputDefinitionSchema0"},"description":"Additional meeting metadata."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["meetingTypeId","startsAt"]},"OperationMeetingsCreateInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsCreateInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCreateInputDefinitionSchema0"}}]},"OperationMeetingsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable Moreflow meeting identifier.","x-domain-id":"MeetingId"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Account that owns this meeting.","x-domain-id":"AccountId"},"meetingTypeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Meeting type used to create this meeting.","x-domain-id":"MeetingTypeId"},"calendarId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Calendar containing this meeting.","x-domain-id":"CalendarId"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this meeting.","x-domain-id":"ClientId"},"title":{"type":"string","description":"Meeting title."},"status":{"type":"string","enum":["scheduled","rescheduled","cancelled","completed","no_show"],"description":"Current meeting lifecycle status."},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when the meeting starts."},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when the meeting ends."},"timezone":{"type":"string","description":"IANA timezone used for the meeting."},"locationType":{"type":"string","enum":["physical","phone","google_meet","microsoft_teams","fahrplan","custom_link","moreflow_room"],"description":"Location or meeting provider used for this meeting."},"guestEmail":{"default":null,"nullable":true,"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Guest email address."},"guestName":{"default":null,"nullable":true,"type":"string","description":"Guest display name."},"cancellationReason":{"default":null,"nullable":true,"type":"string","description":"Human-readable reason for cancellation."},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCreateOutputDefinitionSchema0"},"description":"Additional meeting metadata."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this meeting was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this meeting was last updated."},"groupSessionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Group session this attendee meeting belongs to; null for one-to-one meetings.","x-domain-id":"SchedulingGroupSessionId"},"effects":{"type":"object","properties":{"clientStatus":{"type":"string","enum":["completed","failed","not_applicable","recipient_gate_blocked"]},"fahrplan":{"type":"string","enum":["completed","failed","not_applicable","recipient_gate_blocked"]},"bookingConfirmation":{"type":"string","enum":["completed","failed","not_applicable","recipient_gate_blocked"]},"internalBookingNotification":{"type":"string","enum":["completed","failed","not_applicable","recipient_gate_blocked"]},"activity":{"type":"string","enum":["completed","failed","not_applicable","recipient_gate_blocked"]},"conversion":{"type":"string","enum":["completed","failed","not_applicable","recipient_gate_blocked"]},"automation":{"type":"string","enum":["completed","failed","not_applicable","recipient_gate_blocked"]}},"required":["clientStatus","fahrplan","bookingConfirmation","internalBookingNotification","activity","conversion","automation"],"additionalProperties":false}},"required":["id","accountId","meetingTypeId","calendarId","clientId","title","status","startsAt","endsAt","timezone","locationType","guestEmail","guestName","cancellationReason","metadata","createdAt","updatedAt","groupSessionId","effects"],"additionalProperties":false},"OperationMeetingsCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCreateOutputDefinitionSchema0"}}]},"OperationMeetingsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","INTERNAL_ERROR","CLIENT_BLOCKED","INVALID_STATE","NOT_FOUND","SESSION_FULL","CONFLICT","PROVIDER_UNAVAILABLE","PROVIDER_ERROR","PROVIDER_AUTH_ERROR","CONTRACT_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMeetingsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCreateErrorDefinitionSchema0"}}]},"OperationMeetingsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsCreateErrorDefinitionSchema1"}}]},"OperationMeetingsListInput":{"type":"object","properties":{"hostUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Only include meetings booked on calendars owned by this host.","x-domain-id":"UserId","x-moreflow-reference":{"resolver":"users.memberships.list"}},"calendarId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Only include meetings on this calendar.","x-domain-id":"CalendarId"},"meetingTypeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Only include meetings of this meeting type.","x-domain-id":"MeetingTypeId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Only include meetings for this CRM client.","x-domain-id":"ClientId"},"startsAfter":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Only include meetings starting at or after this ISO 8601 UTC timestamp."},"endsAfter":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Only include meetings ending after this ISO 8601 UTC timestamp (overlap lower bound)."},"endsBefore":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Only include meetings ending at or before this ISO 8601 UTC timestamp."},"startsBefore":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"Only include meetings starting before this ISO 8601 UTC timestamp."},"status":{"type":"string","enum":["scheduled","rescheduled","cancelled","completed","no_show"],"description":"Only include meetings with this status."},"excludeStatus":{"type":"string","enum":["scheduled","rescheduled","cancelled","completed","no_show"],"description":"Exclude meetings with this status."},"cursor":{"type":"string","minLength":1,"description":"Opaque cursor returned by the preceding page."},"order":{"default":"asc","description":"Sort direction by meeting start time.","type":"string","enum":["asc","desc"]},"limit":{"default":25,"description":"Number of meetings to return; must be between 1 and 100 and defaults to 25.","type":"integer","minimum":1,"maximum":100}}},"OperationMeetingsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable Moreflow meeting identifier.","x-domain-id":"MeetingId"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Account that owns this meeting.","x-domain-id":"AccountId"},"meetingTypeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Meeting type used to create this meeting.","x-domain-id":"MeetingTypeId"},"calendarId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Calendar containing this meeting.","x-domain-id":"CalendarId"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this meeting.","x-domain-id":"ClientId"},"title":{"type":"string","description":"Meeting title."},"status":{"type":"string","enum":["scheduled","rescheduled","cancelled","completed","no_show"],"description":"Current meeting lifecycle status."},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when the meeting starts."},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when the meeting ends."},"timezone":{"type":"string","description":"IANA timezone used for the meeting."},"locationType":{"type":"string","enum":["physical","phone","google_meet","microsoft_teams","fahrplan","custom_link","moreflow_room"],"description":"Location or meeting provider used for this meeting."},"guestEmail":{"default":null,"nullable":true,"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Guest email address."},"guestName":{"default":null,"nullable":true,"type":"string","description":"Guest display name."},"cancellationReason":{"default":null,"nullable":true,"type":"string","description":"Human-readable reason for cancellation."},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsListOutputDefinitionSchema0"},"description":"Additional meeting metadata."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this meeting was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this meeting was last updated."},"groupSessionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Group session this attendee meeting belongs to; null for one-to-one meetings.","x-domain-id":"SchedulingGroupSessionId"},"canCancel":{"type":"boolean"},"canReschedule":{"type":"boolean"}},"required":["id","accountId","meetingTypeId","calendarId","clientId","title","status","startsAt","endsAt","timezone","locationType","guestEmail","guestName","cancellationReason","metadata","createdAt","updatedAt","groupSessionId","canCancel","canReschedule"],"additionalProperties":false}},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextCursor":{"nullable":true,"description":"Opaque cursor for the next page, or null at the end.","type":"string"}},"required":["items","totalCount","nextCursor"],"additionalProperties":false},"OperationMeetingsListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsListOutputDefinitionSchema0"}}]},"OperationMeetingsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMeetingsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsListErrorDefinitionSchema0"}}]},"OperationMeetingsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsListErrorDefinitionSchema1"}}]},"OperationMeetingsRescheduleInput":{"type":"object","properties":{"meetingId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Meeting to reschedule.","x-domain-id":"MeetingId"},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC ISO 8601 timestamp for the new start."},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"UTC ISO 8601 timestamp for the new end."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["meetingId","startsAt","endsAt"]},"OperationMeetingsRescheduleOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable Moreflow meeting identifier.","x-domain-id":"MeetingId"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Account that owns this meeting.","x-domain-id":"AccountId"},"meetingTypeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Meeting type used to create this meeting.","x-domain-id":"MeetingTypeId"},"calendarId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Calendar containing this meeting.","x-domain-id":"CalendarId"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this meeting.","x-domain-id":"ClientId"},"title":{"type":"string","description":"Meeting title."},"status":{"type":"string","enum":["scheduled","rescheduled","cancelled","completed","no_show"],"description":"Current meeting lifecycle status."},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when the meeting starts."},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when the meeting ends."},"timezone":{"type":"string","description":"IANA timezone used for the meeting."},"locationType":{"type":"string","enum":["physical","phone","google_meet","microsoft_teams","fahrplan","custom_link","moreflow_room"],"description":"Location or meeting provider used for this meeting."},"guestEmail":{"default":null,"nullable":true,"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Guest email address."},"guestName":{"default":null,"nullable":true,"type":"string","description":"Guest display name."},"cancellationReason":{"default":null,"nullable":true,"type":"string","description":"Human-readable reason for cancellation."},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsRescheduleOutputDefinitionSchema0"},"description":"Additional meeting metadata."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this meeting was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this meeting was last updated."},"groupSessionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Group session this attendee meeting belongs to; null for one-to-one meetings.","x-domain-id":"SchedulingGroupSessionId"},"previousStartsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"previousEndsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","meetingTypeId","calendarId","clientId","title","status","startsAt","endsAt","timezone","locationType","guestEmail","guestName","cancellationReason","metadata","createdAt","updatedAt","groupSessionId","previousStartsAt","previousEndsAt"],"additionalProperties":false},"OperationMeetingsRescheduleOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsRescheduleOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsRescheduleOutputDefinitionSchema0"}}]},"OperationMeetingsRescheduleError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","INTERNAL_ERROR","NOT_FOUND","INVALID_STATE","CONFLICT","SESSION_FULL","PROVIDER_UNAVAILABLE","PROVIDER_ERROR","PROVIDER_AUTH_ERROR","CONTRACT_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsRescheduleErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsRescheduleErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMeetingsRescheduleErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsRescheduleErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsRescheduleErrorDefinitionSchema0"}}]},"OperationMeetingsRescheduleErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingsRescheduleErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingsRescheduleErrorDefinitionSchema1"}}]},"OperationMeetingTypesListInput":{"type":"object","properties":{"ownerUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Only include meeting types owned by this user.","x-domain-id":"UserId"},"cursor":{"type":"string","minLength":1,"description":"Opaque cursor returned by the preceding page."},"limit":{"default":25,"description":"Number of meeting types to return; must be between 1 and 100 and defaults to 25.","type":"integer","minimum":1,"maximum":100}}},"OperationMeetingTypesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Stable Moreflow meeting type identifier.","x-domain-id":"MeetingTypeId"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Account that owns this meeting type.","x-domain-id":"AccountId"},"title":{"type":"string","description":"Display title shown to people booking this meeting."},"description":{"default":null,"nullable":true,"type":"string","description":"Optional explanation of the meeting type."},"slug":{"type":"string","description":"URL-safe booking slug for this meeting type."},"durationMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Meeting duration in minutes."},"maxAttendees":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Seats per session. 1 is a one-to-one meeting; more than 1 is a group session where several attendees book the same start."},"groupSessionMode":{"type":"string","enum":["weekly_and_scheduled","scheduled_only"],"description":"Which starts a group meeting type offers: weekly availability plus host-scheduled dates, or only host-scheduled dates."},"waitlistEnabled":{"type":"boolean","description":"Group types only: whether guests may join the waitlist of a full session of this type."},"waitlistMaxEntries":{"nullable":true,"description":"Group types only: most waiting and offered guests one session's waitlist holds; null is unlimited.","type":"integer","minimum":1,"maximum":1000},"waitlistCutoffMinutes":{"type":"integer","minimum":0,"maximum":10080,"description":"Group types only: minutes before a session starts when its waitlist closes, from 0 to 10080; 60 by default."},"webinarDelivery":{"type":"string","enum":["external_link","live_room","premiere"],"description":"Group types only: how the webinar is delivered. external_link uses the session meeting link (Meet, Teams, custom). live_room is a moreflow live room. premiere plays the recorded webinarVideoId at the session start for everyone."},"webinarVideoId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Group types only: the hosted video a premiere plays, or null. Required when webinarDelivery is premiere.","x-domain-id":"HostedVideoId"},"webinarReplayEnabled":{"type":"boolean","description":"Group types only: whether attendees may watch the webinar on demand after it ends."},"webinarReplayAvailableHours":{"nullable":true,"description":"Group types only: hours after the session ends that the replay stays available, 1 to 8760; null is unlimited while replay is enabled.","type":"integer","minimum":1,"maximum":8760},"webinarAttendanceMinimumSeconds":{"type":"integer","minimum":0,"maximum":86400,"description":"Group types only: watch time in seconds (0 to 86400) that counts an attendee as attended when engagement is finalized. 300 by default."},"webinarOffers":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Offer shown in the webinar. Give exactly one of offerId or productId.","x-domain-id":"OfferId"},"productId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Product shown in the webinar. Give exactly one of offerId or productId.","x-domain-id":"ProductId"},"appearAtSeconds":{"description":"Premiere only: media position in seconds at which the offer appears. Null or omitted: shown by host action.","nullable":true,"type":"integer","minimum":0,"maximum":86400}},"additionalProperties":false},"description":"Group types only: the offers the webinar shows, in order, at most 10."},"color":{"default":null,"nullable":true,"type":"string","description":"Optional display color for this meeting type."},"default":{"default":null,"nullable":true,"type":"boolean","description":"Whether this is the default meeting type."},"type":{"default":null,"nullable":true,"type":"string","enum":["setting","closing","consulting","team"],"description":"Business category of this meeting type."},"timezone":{"type":"string","description":"IANA timezone used to display and book this meeting type."},"global":{"default":null,"nullable":true,"type":"boolean","description":"Whether this meeting type is available globally."},"status":{"type":"string","enum":["draft","published","archived"],"description":"Publication status of this meeting type."},"paymentRequired":{"type":"boolean","description":"Whether booking requires payment."},"bufferBeforeMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Buffer in minutes before each meeting."},"bufferAfterMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Buffer in minutes after each meeting."},"calendarId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Calendar used for bookings.","x-domain-id":"CalendarId"},"location":{"default":null,"nullable":true,"type":"string","enum":["physical","phone","google_meet","microsoft_teams","fahrplan","custom_link","moreflow_room"],"description":"Location or meeting provider used for the booking."},"locationAddress":{"default":null,"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingTypesListOutputDefinitionSchema0"},"description":"Optional physical location details."},"locationUrl":{"default":null,"nullable":true,"type":"string","maxLength":2048,"format":"uri","description":"Video call link (http or https) every booking of a custom_link meeting type joins, e.g. a Zoom or Webex room."},"productIds":{"default":null,"nullable":true,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ProductId"},"description":"Products associated with this meeting type."},"publicVisible":{"default":null,"nullable":true,"type":"boolean","description":"Whether this meeting type is visible on public booking pages."},"blockAllDayEvents":{"default":null,"nullable":true,"type":"boolean","description":"Whether all-day calendar events block booking."},"previewDays":{"default":null,"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Number of days shown in booking previews."},"confirmationEmailSubject":{"default":null,"nullable":true,"type":"string","description":"Optional booking confirmation subject."},"confirmationEmailBody":{"default":null,"nullable":true,"type":"string","description":"Optional booking confirmation body."},"customBookingCheckboxes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-zA-Z0-9_-]+$"},"text":{"type":"object","properties":{"en":{"type":"string","minLength":1,"maxLength":500},"de":{"type":"string","minLength":1,"maxLength":500}},"required":["en","de"],"additionalProperties":false},"required":{"type":"boolean"}},"required":["id","text","required"],"additionalProperties":false},"description":"Custom consent checkboxes required at booking."},"bookingPhoneField":{"type":"string","enum":["required","optional","hidden"],"description":"How the booking form asks for the guest's phone number: required, optional, or hidden (not asked). Phone-call meeting types always require it; required by default."},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingTypesListOutputDefinitionSchema0"},"description":"Additional meeting type metadata."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this meeting type was created."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 UTC timestamp when this meeting type was last updated."}},"required":["id","accountId","title","description","slug","durationMinutes","maxAttendees","groupSessionMode","color","default","type","timezone","global","status","paymentRequired","bufferBeforeMinutes","bufferAfterMinutes","calendarId","location","locationAddress","locationUrl","productIds","publicVisible","blockAllDayEvents","previewDays","confirmationEmailSubject","confirmationEmailBody","customBookingCheckboxes","metadata","createdAt","updatedAt"],"additionalProperties":false}},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"}},"required":["canManage"],"additionalProperties":false},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","capabilities","nextCursor"],"additionalProperties":false},"OperationMeetingTypesListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingTypesListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingTypesListOutputDefinitionSchema0"}}]},"OperationMeetingTypesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingTypesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationMeetingTypesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationMeetingTypesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingTypesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingTypesListErrorDefinitionSchema0"}}]},"OperationMeetingTypesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationMeetingTypesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationMeetingTypesListErrorDefinitionSchema1"}}]},"OperationOffersCreateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string","minLength":1},"workflow":{"type":"string","enum":["invoice_before_payment","payment_before_invoice","contract_before_payment"]},"content":{"type":"object","properties":{"sections":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateInputDefinitionSchema0"}}},"lineItems":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"productId":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"description":{"type":"string"},"quantity":{"default":1,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"taxRateBps":{"type":"integer","minimum":0,"maximum":10000},"optional":{"type":"boolean"}},"required":["id","label","amountNetCents","amountGrossCents"]}},"contract":{"type":"object","properties":{"templateId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"terms":{"type":"string"},"ctaText":{"type":"string"}},"additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateInputDefinitionSchema1"}},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"default":"EUR","type":"string","minLength":3,"maxLength":3},"validUntilAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateInputDefinitionSchema0"}},"dealId":{"x-moreflow-reference":{"resolver":"deals.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Deal the new record’s revenue rolls up to; it must be a live deal of the same client. Omitted: the client’s only open deal, or none when the client has zero or several open deals. null: leave the record unlinked."},"idempotencyKey":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["clientId","title","workflow","content"]},"OperationOffersCreateInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersCreateInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateInputDefinitionSchema0"}}]},"OperationOffersCreateInputDefinitionSchema1":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersCreateInputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateInputDefinitionSchema1"}}]},"OperationOffersCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"OfferId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this offer."},"status":{"type":"string","enum":["draft","sent","viewed","accepted","declined","expired","cancelled"],"description":"Current lifecycle status of the offer."},"title":{"type":"string"},"workflow":{"type":"string","enum":["invoice_before_payment","payment_before_invoice","contract_before_payment"]},"currency":{"type":"string","minLength":3,"maxLength":3},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"latestVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedSnapshot":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateOutputDefinitionSchema0"}},"acceptedOptionIds":{"type":"array","items":{"type":"string"}},"generatedContractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedInvoiceId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedPaymentId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"shortLink":{"default":null,"nullable":true,"type":"string"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"viewedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"acceptedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"declinedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"finalizedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentToEmail":{"default":null,"nullable":true,"description":"Email address the offer was last delivered to.","type":"string"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"latestVersion":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"content":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateOutputDefinitionSchema0"}},"optionIds":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","offerId","version","content","optionIds","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","currency","createdAt"],"additionalProperties":false},"validUntilAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","status","title","workflow","currency","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","latestVersionId","acceptedVersionId","acceptedSnapshot","acceptedOptionIds","generatedContractId","generatedInvoiceId","generatedPaymentId","shortLink","sentAt","viewedAt","acceptedAt","declinedAt","finalizedAt","sentToEmail","metadata","createdAt","updatedAt","latestVersion","validUntilAt"],"additionalProperties":false},"OperationOffersCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateOutputDefinitionSchema0"}}]},"OperationOffersCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_STATE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOffersCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateErrorDefinitionSchema0"}}]},"OperationOffersCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersCreateErrorDefinitionSchema1"}}]},"OperationOffersDealUpdateInput":{"type":"object","properties":{"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"offer id","x-moreflow-reference":{"resolver":"offers.get"}},"dealId":{"nullable":true,"x-moreflow-reference":{"resolver":"deals.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Deal to link the offer to, or null to unlink it."}},"required":["offerId","dealId"]},"OperationOffersDealUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Identifier of the contract or offer."},"recordType":{"type":"string","enum":["contract","offer"]},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"client id","x-moreflow-reference":{"resolver":"clients.get"}},"dealId":{"nullable":true,"x-moreflow-reference":{"resolver":"deals.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Deal the record’s revenue rolls up to; null when unlinked."},"partner":{"nullable":true,"description":"The other half of the same offer workflow (an offer’s generated contract, or the offer that generated the contract). It always carries the same deal and was updated together.","type":"object","properties":{"recordType":{"type":"string","enum":["contract","offer"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dealId":{"nullable":true,"x-moreflow-reference":{"resolver":"deals.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Deal of the partner record; always equal to dealId."}},"required":["recordType","id","dealId"],"additionalProperties":false}},"required":["id","recordType","clientId","dealId","partner"],"additionalProperties":false},"OperationOffersDealUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","DEAL_NOT_FOUND","FORBIDDEN","DEAL_ARCHIVED","DEAL_CLIENT_MISMATCH","DEAL_LINK_CONFLICT","DEAL_LINK_CHANGED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersDealUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOffersDealUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOffersDealUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersDealUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersDealUpdateErrorDefinitionSchema0"}}]},"OperationOffersDealUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersDealUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersDealUpdateErrorDefinitionSchema1"}}]},"OperationOffersGetInput":{"type":"object","properties":{"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["offerId"]},"OperationOffersGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"OfferId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this offer."},"status":{"type":"string","enum":["draft","sent","viewed","accepted","declined","expired","cancelled"],"description":"Current lifecycle status of the offer."},"title":{"type":"string"},"workflow":{"type":"string","enum":["invoice_before_payment","payment_before_invoice","contract_before_payment"]},"currency":{"type":"string","minLength":3,"maxLength":3},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"latestVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedSnapshot":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetOutputDefinitionSchema0"}},"acceptedOptionIds":{"type":"array","items":{"type":"string"}},"generatedContractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedInvoiceId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedPaymentId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"shortLink":{"default":null,"nullable":true,"type":"string"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"viewedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"acceptedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"declinedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"finalizedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentToEmail":{"default":null,"nullable":true,"description":"Email address the offer was last delivered to.","type":"string"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"latestVersion":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"content":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetOutputDefinitionSchema0"}},"optionIds":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","offerId","version","content","optionIds","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","currency","createdAt"],"additionalProperties":false},"tracking":{"type":"object","properties":{"reference":{"type":"string","minLength":1},"bucket":{"type":"string","enum":["draft","active","finalized"]},"lastActivityAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextAction":{"type":"object","properties":{"code":{"type":"string","enum":["send","client_identity_required","client_qualification_required","awaiting_view","follow_up","expiring_soon","expire","awaiting_signature","awaiting_payment","payment_processing","retry_payment","completed","none"]},"operationId":{"nullable":true,"type":"string","enum":["offers.send","offers.status.update","offers.get","payments.checkout.offer.create","clients.update","clients.get"]},"href":{"nullable":true,"type":"string"},"dueState":{"type":"string","enum":["none","scheduled","due_soon","overdue"]},"dueAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"urgency":{"type":"string","enum":["none","info","warning","critical"]},"recovery":{"nullable":true,"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false}},"required":["code","operationId","href","dueState","dueAt","urgency","recovery"],"additionalProperties":false},"client":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"company":{"nullable":true,"type":"string"}},"required":["id","name","email","company"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canSend":{"type":"boolean"},"canResend":{"type":"boolean"},"canCancel":{"type":"boolean"},"canExpire":{"type":"boolean"},"canDecline":{"type":"boolean"},"canDownloadInvoice":{"type":"boolean"},"canRevise":{"type":"boolean"}},"required":["canEdit","canSend","canResend","canCancel","canExpire","canDecline","canDownloadInvoice","canRevise"],"additionalProperties":false},"links":{"type":"object","properties":{"publicUrl":{"nullable":true,"type":"string"},"paymentUrl":{"nullable":true,"type":"string"},"contractUrl":{"nullable":true,"type":"string"},"invoiceUrl":{"nullable":true,"type":"string"}},"required":["publicUrl","paymentUrl","contractUrl","invoiceUrl"],"additionalProperties":false},"records":{"type":"object","properties":{"contractId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"paymentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["contractId","invoiceId","paymentId"],"additionalProperties":false}},"required":["reference","bucket","lastActivityAt","nextAction","client","capabilities","links","records"],"additionalProperties":false},"validUntilAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"eventType":{"type":"string"},"actorUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"payload":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetOutputDefinitionSchema0"}},"requestId":{"type":"string"},"traceId":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","offerId","eventType","payload","createdAt"],"additionalProperties":false}}},"required":["id","clientId","status","title","workflow","currency","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","latestVersionId","acceptedVersionId","acceptedSnapshot","acceptedOptionIds","generatedContractId","generatedInvoiceId","generatedPaymentId","shortLink","sentAt","viewedAt","acceptedAt","declinedAt","finalizedAt","sentToEmail","metadata","createdAt","updatedAt","latestVersion","tracking","validUntilAt","events"],"additionalProperties":false},"OperationOffersGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetOutputDefinitionSchema0"}}]},"OperationOffersGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOffersGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetErrorDefinitionSchema0"}}]},"OperationOffersGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersGetErrorDefinitionSchema1"}}]},"OperationOffersListInput":{"type":"object","properties":{"clientId":{"description":"Optional CRM client whose offers should be listed.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"description":"Optional offer lifecycle status to include.","type":"string","enum":["draft","sent","viewed","accepted","declined","expired","cancelled"]},"bucket":{"type":"string","enum":["draft","active","finalized"]},"workflow":{"type":"string","enum":["invoice_before_payment","payment_before_invoice","contract_before_payment"]},"query":{"description":"Optional text matched against offer and client details.","type":"string","minLength":1,"maxLength":200},"sort":{"default":{"field":"updatedAt","direction":"desc"},"type":"object","properties":{"field":{"type":"string","enum":["createdAt","updatedAt","title","amountGrossCents"]},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]},"cursor":{"type":"string","minLength":1,"maxLength":4096},"nowAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}}},"OperationOffersListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"OfferId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this offer."},"status":{"type":"string","enum":["draft","sent","viewed","accepted","declined","expired","cancelled"],"description":"Current lifecycle status of the offer."},"title":{"type":"string"},"workflow":{"type":"string","enum":["invoice_before_payment","payment_before_invoice","contract_before_payment"]},"currency":{"type":"string","minLength":3,"maxLength":3},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersListOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"latestVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedSnapshot":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersListOutputDefinitionSchema0"}},"acceptedOptionIds":{"type":"array","items":{"type":"string"}},"generatedContractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedInvoiceId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedPaymentId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"shortLink":{"default":null,"nullable":true,"type":"string"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"viewedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"acceptedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"declinedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"finalizedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentToEmail":{"default":null,"nullable":true,"description":"Email address the offer was last delivered to.","type":"string"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersListOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"latestVersion":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"content":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersListOutputDefinitionSchema0"}},"optionIds":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersListOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","offerId","version","content","optionIds","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","currency","createdAt"],"additionalProperties":false},"tracking":{"type":"object","properties":{"reference":{"type":"string","minLength":1},"bucket":{"type":"string","enum":["draft","active","finalized"]},"lastActivityAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nextAction":{"type":"object","properties":{"code":{"type":"string","enum":["send","client_identity_required","client_qualification_required","awaiting_view","follow_up","expiring_soon","expire","awaiting_signature","awaiting_payment","payment_processing","retry_payment","completed","none"]},"operationId":{"nullable":true,"type":"string","enum":["offers.send","offers.status.update","offers.get","payments.checkout.offer.create","clients.update","clients.get"]},"href":{"nullable":true,"type":"string"},"dueState":{"type":"string","enum":["none","scheduled","due_soon","overdue"]},"dueAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"urgency":{"type":"string","enum":["none","info","warning","critical"]},"recovery":{"nullable":true,"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersListOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false}},"required":["code","operationId","href","dueState","dueAt","urgency","recovery"],"additionalProperties":false},"client":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"company":{"nullable":true,"type":"string"}},"required":["id","name","email","company"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canSend":{"type":"boolean"},"canResend":{"type":"boolean"},"canCancel":{"type":"boolean"},"canExpire":{"type":"boolean"},"canDecline":{"type":"boolean"},"canDownloadInvoice":{"type":"boolean"},"canRevise":{"type":"boolean"}},"required":["canEdit","canSend","canResend","canCancel","canExpire","canDecline","canDownloadInvoice","canRevise"],"additionalProperties":false},"links":{"type":"object","properties":{"publicUrl":{"nullable":true,"type":"string"},"paymentUrl":{"nullable":true,"type":"string"},"contractUrl":{"nullable":true,"type":"string"},"invoiceUrl":{"nullable":true,"type":"string"}},"required":["publicUrl","paymentUrl","contractUrl","invoiceUrl"],"additionalProperties":false},"records":{"type":"object","properties":{"contractId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"paymentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["contractId","invoiceId","paymentId"],"additionalProperties":false}},"required":["reference","bucket","lastActivityAt","nextAction","client","capabilities","links","records"],"additionalProperties":false},"validUntilAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","status","title","workflow","currency","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","latestVersionId","acceptedVersionId","acceptedSnapshot","acceptedOptionIds","generatedContractId","generatedInvoiceId","generatedPaymentId","shortLink","sentAt","viewedAt","acceptedAt","declinedAt","finalizedAt","sentToEmail","metadata","createdAt","updatedAt","latestVersion","tracking","validUntilAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationOffersListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersListOutputDefinitionSchema0"}}]},"OperationOffersListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOffersListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOffersListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersListErrorDefinitionSchema0"}}]},"OperationOffersListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersListErrorDefinitionSchema1"}}]},"OperationOffersSendInput":{"type":"object","properties":{"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"resend":{"type":"boolean"},"recipient":{"description":"Saved client email the offer goes to. Omit it to use the client's primary email. Free-form addresses are not accepted; save a new address with clients.contactPoints.create first.","type":"object","properties":{"contactPointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Id of one of the client's saved email addresses or phone numbers (client.emails[].id / client.phones[].id, or a candidate id from clients.recipients.resolve).","x-moreflow-reference":{"resolver":"clients.get"}}},"required":["contactPointId"],"additionalProperties":false},"expectedEmail":{"description":"Email address shown in the send confirmation. When supplied, the send is refused with CONFLICT recipient_changed if the resolved saved address has changed.","type":"string","minLength":1},"baseUrl":{"type":"string","format":"uri"},"idempotencyKey":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["offerId"]},"OperationOffersSendOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"OfferId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this offer."},"status":{"type":"string","enum":["draft","sent","viewed","accepted","declined","expired","cancelled"],"description":"Current lifecycle status of the offer."},"title":{"type":"string"},"workflow":{"type":"string","enum":["invoice_before_payment","payment_before_invoice","contract_before_payment"]},"currency":{"type":"string","minLength":3,"maxLength":3},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSendOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"latestVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedSnapshot":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSendOutputDefinitionSchema0"}},"acceptedOptionIds":{"type":"array","items":{"type":"string"}},"generatedContractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedInvoiceId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedPaymentId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"shortLink":{"type":"string"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"viewedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"acceptedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"declinedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"finalizedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentToEmail":{"default":null,"nullable":true,"description":"Email address the offer was last delivered to.","type":"string"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSendOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"latestVersion":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"content":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSendOutputDefinitionSchema0"}},"optionIds":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSendOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","offerId","version","content","optionIds","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","currency","createdAt"],"additionalProperties":false},"validUntilAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","status","title","workflow","currency","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","latestVersionId","acceptedVersionId","acceptedSnapshot","acceptedOptionIds","generatedContractId","generatedInvoiceId","generatedPaymentId","shortLink","sentAt","viewedAt","acceptedAt","declinedAt","finalizedAt","sentToEmail","metadata","createdAt","updatedAt","latestVersion","validUntilAt"],"additionalProperties":false},"OperationOffersSendOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersSendOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSendOutputDefinitionSchema0"}}]},"OperationOffersSendError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_STATE","CONFLICT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","CLIENT_IDENTITY_REQUIRED","CLIENT_QUALIFICATION_REQUIRED","RECIPIENT_NOT_ON_CLIENT","RECIPIENT_WRONG_KIND","CLIENT_NO_EMAIL","PROVIDER_ERROR","OUTBOUND_GOVERNOR_BLOCKED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSendErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOffersSendErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOffersSendErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersSendErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSendErrorDefinitionSchema0"}}]},"OperationOffersSendErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersSendErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSendErrorDefinitionSchema1"}}]},"OperationOffersStatusUpdateInput":{"type":"object","properties":{"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"nextStatus":{"type":"string","enum":["draft","sent","viewed","accepted","declined","expired","cancelled"]},"reason":{"type":"string"},"idempotencyKey":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["offerId","nextStatus"]},"OperationOffersStatusUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"OfferId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this offer."},"status":{"type":"string","enum":["draft","sent","viewed","accepted","declined","expired","cancelled"],"description":"Current lifecycle status of the offer."},"title":{"type":"string"},"workflow":{"type":"string","enum":["invoice_before_payment","payment_before_invoice","contract_before_payment"]},"currency":{"type":"string","minLength":3,"maxLength":3},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersStatusUpdateOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"latestVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedSnapshot":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersStatusUpdateOutputDefinitionSchema0"}},"acceptedOptionIds":{"type":"array","items":{"type":"string"}},"generatedContractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedInvoiceId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedPaymentId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"shortLink":{"default":null,"nullable":true,"type":"string"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"viewedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"acceptedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"declinedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"finalizedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentToEmail":{"default":null,"nullable":true,"description":"Email address the offer was last delivered to.","type":"string"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersStatusUpdateOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"latestVersion":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"content":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersStatusUpdateOutputDefinitionSchema0"}},"optionIds":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersStatusUpdateOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","offerId","version","content","optionIds","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","currency","createdAt"],"additionalProperties":false},"validUntilAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","status","title","workflow","currency","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","latestVersionId","acceptedVersionId","acceptedSnapshot","acceptedOptionIds","generatedContractId","generatedInvoiceId","generatedPaymentId","shortLink","sentAt","viewedAt","acceptedAt","declinedAt","finalizedAt","sentToEmail","metadata","createdAt","updatedAt","latestVersion","validUntilAt"],"additionalProperties":false},"OperationOffersStatusUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersStatusUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersStatusUpdateOutputDefinitionSchema0"}}]},"OperationOffersStatusUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_STATE","CONFLICT","AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersStatusUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOffersStatusUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOffersStatusUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersStatusUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersStatusUpdateErrorDefinitionSchema0"}}]},"OperationOffersStatusUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersStatusUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersStatusUpdateErrorDefinitionSchema1"}}]},"OperationOffersSummaryGetInput":{"type":"object","properties":{"fromAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"toAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"nowAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}}},"OperationOffersSummaryGetOutput":{"type":"object","properties":{"period":{"type":"object","properties":{"fromAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"toAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["fromAt","toAt"],"additionalProperties":false},"activeValueByCurrency":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":3,"maxLength":3},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["currency","amountGrossCents","count"],"additionalProperties":false}},"awaitingResponseCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"viewedUnacceptedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"expiringSoonCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"acceptanceRate":{"type":"object","properties":{"acceptedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"eligibleCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"percentage":{"nullable":true,"type":"number","minimum":0,"maximum":100}},"required":["acceptedCount","eligibleCount","percentage"],"additionalProperties":false},"medianTimeToAcceptanceHours":{"nullable":true,"type":"number","minimum":0},"id":{"type":"string","enum":["offer_summary"]}},"required":["period","activeValueByCurrency","awaitingResponseCount","viewedUnacceptedCount","expiringSoonCount","acceptanceRate","medianTimeToAcceptanceHours","id"],"additionalProperties":false},"OperationOffersSummaryGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_INPUT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSummaryGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOffersSummaryGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOffersSummaryGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersSummaryGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSummaryGetErrorDefinitionSchema0"}}]},"OperationOffersSummaryGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersSummaryGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersSummaryGetErrorDefinitionSchema1"}}]},"OperationOffersUpdateInput":{"type":"object","properties":{"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string","minLength":1},"workflow":{"type":"string","enum":["invoice_before_payment","payment_before_invoice","contract_before_payment"]},"content":{"type":"object","properties":{"sections":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateInputDefinitionSchema0"}}},"lineItems":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"productId":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"description":{"type":"string"},"quantity":{"default":1,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"taxRateBps":{"type":"integer","minimum":0,"maximum":10000},"optional":{"type":"boolean"}},"required":["id","label","amountNetCents","amountGrossCents"]}},"contract":{"type":"object","properties":{"templateId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"terms":{"type":"string"},"ctaText":{"type":"string"}},"additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateInputDefinitionSchema1"}},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"validUntilAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateInputDefinitionSchema0"}},"idempotencyKey":{"type":"string","minLength":1},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["offerId"]},"OperationOffersUpdateInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersUpdateInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateInputDefinitionSchema0"}}]},"OperationOffersUpdateInputDefinitionSchema1":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersUpdateInputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateInputDefinitionSchema1"}}]},"OperationOffersUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"OfferId"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"CRM client associated with this offer."},"status":{"type":"string","enum":["draft","sent","viewed","accepted","declined","expired","cancelled"],"description":"Current lifecycle status of the offer."},"title":{"type":"string"},"workflow":{"type":"string","enum":["invoice_before_payment","payment_before_invoice","contract_before_payment"]},"currency":{"type":"string","minLength":3,"maxLength":3},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"latestVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedVersionId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"acceptedSnapshot":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateOutputDefinitionSchema0"}},"acceptedOptionIds":{"type":"array","items":{"type":"string"}},"generatedContractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedInvoiceId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"generatedPaymentId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"shortLink":{"default":null,"nullable":true,"type":"string"},"sentAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"viewedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"acceptedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"declinedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"finalizedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sentToEmail":{"default":null,"nullable":true,"description":"Email address the offer was last delivered to.","type":"string"},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"latestVersion":{"default":null,"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"content":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateOutputDefinitionSchema0"}},"optionIds":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateOutputDefinitionSchema0"}}},"amountNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","offerId","version","content","optionIds","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","currency","createdAt"],"additionalProperties":false},"validUntilAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","status","title","workflow","currency","items","amountNetCents","amountGrossCents","totalNetCents","totalGrossCents","latestVersionId","acceptedVersionId","acceptedSnapshot","acceptedOptionIds","generatedContractId","generatedInvoiceId","generatedPaymentId","shortLink","sentAt","viewedAt","acceptedAt","declinedAt","finalizedAt","sentToEmail","metadata","createdAt","updatedAt","latestVersion","validUntilAt"],"additionalProperties":false},"OperationOffersUpdateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersUpdateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateOutputDefinitionSchema0"}}]},"OperationOffersUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_STATE","CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOffersUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateErrorDefinitionSchema0"}}]},"OperationOffersUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOffersUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOffersUpdateErrorDefinitionSchema1"}}]},"OperationOperationsDiscoveryGetInput":{"type":"object","properties":{"id":{"type":"string"},"level":{"default":1,"anyOf":[{"type":"number","enum":[1]},{"type":"number","enum":[2]}]}},"required":["id"]},"OperationOperationsDiscoveryGetOutput":{"type":"object","properties":{"id":{"type":"string"},"stability":{"type":"string","enum":["stable","beta"]},"name":{"type":"string"},"summary":{"type":"string"},"kind":{"type":"string","enum":["query","mutation","job"]},"effect":{"type":"string","enum":["read","local_reversible_write","bulk_write","external_communication","financial_commitment","provider_administration","irreversible_write"]},"bundle":{"type":"object","properties":{"id":{"type":"string"},"module":{"type":"string"},"access":{"type":"string","enum":["read","write"]}},"required":["id","module","access"],"additionalProperties":false},"audience":{"type":"string","enum":["public","integration","internal"]},"contractVersion":{"type":"string"},"deprecated":{"type":"object","properties":{"since":{"type":"string"},"sunsetAt":{"type":"string"},"successorOperationId":{"type":"string"}},"required":["since","sunsetAt","successorOperationId"],"additionalProperties":false},"description":{"type":"string"},"module":{"type":"string"},"auth":{"type":"object","properties":{"mode":{"type":"string","enum":["anonymous","session","integration_token","service","tenant_scoped"]},"scopes":{"type":"array","items":{"type":"string"}},"publicScopes":{"type":"array","items":{"type":"string"}},"requestAccountSource":{"type":"string","enum":["actor"]}},"required":["mode","scopes"],"additionalProperties":false},"requires":{"type":"array","items":{"type":"string"}},"sideEffects":{"type":"array","items":{"type":"string"}},"agent":{"type":"object","properties":{"effect":{"type":"string","enum":["read","local_reversible_write","bulk_write","external_communication","financial_commitment","provider_administration","irreversible_write"]},"confirmation":{"type":"string","enum":["never","policy","always"]},"reversibility":{"type":"string","enum":["not_applicable","reversible","partially_reversible","irreversible"]},"category":{"type":"string"},"discoveryKeywords":{"type":"array","items":{"type":"string"}},"presentation":{"type":"object","properties":{"label":{"type":"object","properties":{"de":{"type":"string"},"en":{"type":"string"}},"required":["de","en"],"additionalProperties":false},"activity":{"type":"object","properties":{"de":{"type":"string"},"en":{"type":"string"}},"required":["de","en"],"additionalProperties":false}},"required":["label","activity"],"additionalProperties":false},"untrustedOutputPaths":{"type":"array","items":{"type":"string"}},"readiness":{"type":"object","properties":{"requirements":{"type":"array","items":{"type":"string"}},"recoveryOperationId":{"type":"string"}},"required":["requirements"],"additionalProperties":false},"producedArtifacts":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"canonicalDomain":{"type":"string"},"resourceIdPath":{"type":"string"},"labelPath":{"type":"string"},"label":{"type":"string"}},"required":["type","canonicalDomain","resourceIdPath","label"],"additionalProperties":false}},"consumedArtifactTypes":{"type":"array","items":{"type":"string"}},"recoveryOperationIds":{"type":"array","items":{"type":"string"}},"compensationOperationId":{"type":"string"}},"required":["effect","confirmation","reversibility","category","discoveryKeywords","readiness","producedArtifacts","consumedArtifactTypes","recoveryOperationIds"],"additionalProperties":false},"discovery":{"type":"object","properties":{"summary":{"type":"string"},"level":{"anyOf":[{"type":"number","enum":[0]},{"type":"number","enum":[1]},{"type":"number","enum":[2]}]},"examples":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"input":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutputDefinitionSchema0"},"output":{"allOf":[{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutputDefinitionSchema0"}]}},"required":["name","input"],"additionalProperties":false}}},"required":["summary","level"],"additionalProperties":false},"invocation":{"type":"object","properties":{"kind":{"type":"string","enum":["operation"]},"transport":{"type":"string","enum":["hono"]},"method":{"type":"string","enum":["POST"]},"path":{"type":"string"},"operationId":{"type":"string"},"inputMode":{"type":"string","enum":["jsonBody"]}},"required":["kind","transport","method","path","operationId","inputMode"],"additionalProperties":false},"constraints":{"type":"object","properties":{"requires":{"type":"array","items":{"type":"string"}},"sideEffects":{"type":"array","items":{"type":"string"}},"readiness":{"type":"array","items":{"type":"string"}}},"required":["requires","sideEffects"],"additionalProperties":false},"relatedOperations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"summary":{"type":"string"},"kind":{"type":"string","enum":["query","mutation","job"]},"effect":{"type":"string","enum":["read","local_reversible_write","bulk_write","external_communication","financial_commitment","provider_administration","irreversible_write"]},"bundle":{"type":"object","properties":{"id":{"type":"string"},"module":{"type":"string"},"access":{"type":"string","enum":["read","write"]}},"required":["id","module","access"],"additionalProperties":false}},"required":["id","name","summary","kind"],"additionalProperties":false}},"nextOperations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"summary":{"type":"string"},"kind":{"type":"string","enum":["query","mutation","job"]},"effect":{"type":"string","enum":["read","local_reversible_write","bulk_write","external_communication","financial_commitment","provider_administration","irreversible_write"]},"bundle":{"type":"object","properties":{"id":{"type":"string"},"module":{"type":"string"},"access":{"type":"string","enum":["read","write"]}},"required":["id","module","access"],"additionalProperties":false}},"required":["id","name","summary","kind"],"additionalProperties":false}},"errorSchema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutputDefinitionSchema0"},"errors":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"]},"code":{"type":"string","description":"Error code from the shared Moreflow error taxonomy. New codes can appear; treat an unknown code as a generic failure and read `when` and `recovery`."},"when":{"type":"string"},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutputDefinitionSchema1"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false}},"required":["category","code","when"],"additionalProperties":false}},"sharedSchemas":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutputDefinitionSchema0"}},"idempotency":{"type":"object","properties":{"required":{"type":"boolean"},"scope":{"type":"string","enum":["none","tenant","token","operation","resource"]},"replay":{"type":"string","enum":["same_result","same_job","reject"]}},"required":["required","scope","replay"],"additionalProperties":false},"inputSchema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutputDefinitionSchema0"},"outputSchema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutputDefinitionSchema0"}},"required":["id","name","summary","kind","audience","description","module","auth","requires","sideEffects","discovery","invocation","constraints","errorSchema","errors","idempotency","inputSchema","outputSchema"],"additionalProperties":false},"OperationOperationsDiscoveryGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutputDefinitionSchema0"}}]},"OperationOperationsDiscoveryGetOutputDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutputDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutputDefinitionSchema1"}}]},"OperationOperationsDiscoveryGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOperationsDiscoveryGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetErrorDefinitionSchema0"}}]},"OperationOperationsDiscoveryGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetErrorDefinitionSchema1"}}]},"OperationOperationsDiscoveryListInput":{"type":"object","properties":{"module":{"type":"string"},"query":{"description":"Case-insensitive text matched against operation ids, modules, and summaries.","type":"string","minLength":1},"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"description":"Number of operations to return; must be between 1 and 100 and defaults to 25.","type":"integer","minimum":1,"maximum":100}}},"OperationOperationsDiscoveryListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"stability":{"type":"string","enum":["stable","beta"]},"name":{"type":"string"},"summary":{"type":"string"},"kind":{"type":"string","enum":["query","mutation","job"]},"effect":{"type":"string","enum":["read","local_reversible_write","bulk_write","external_communication","financial_commitment","provider_administration","irreversible_write"]},"bundle":{"type":"object","properties":{"id":{"type":"string"},"module":{"type":"string"},"access":{"type":"string","enum":["read","write"]}},"required":["id","module","access"],"additionalProperties":false}},"required":["id","name","summary","kind"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationOperationsDiscoveryListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOperationsDiscoveryListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListErrorDefinitionSchema0"}}]},"OperationOperationsDiscoveryListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListErrorDefinitionSchema1"}}]},"OperationOperationsEventsListInput":{"type":"object","properties":{"operationIds":{"type":"array","items":{"type":"string","minLength":1}},"cursor":{"type":"string","minLength":1},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}}},"OperationOperationsEventsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"cursor":{"type":"string","minLength":1},"requestId":{"type":"string","minLength":1},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"operationId":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"invalidates":{"type":"array","items":{"type":"string"}},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"changes":{"type":"array","items":{"type":"object","properties":{"entity":{"type":"string","minLength":1},"id":{"type":"string","minLength":1},"clientId":{"nullable":true,"type":"string","minLength":1},"kind":{"type":"string","enum":["insert","update","delete"]},"version":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["entity","id","clientId","kind","version"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["id","cursor","accountId","operationId","type","invalidates","occurredAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationOperationsEventsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","FORBIDDEN","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsEventsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOperationsEventsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOperationsEventsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsEventsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsEventsListErrorDefinitionSchema0"}}]},"OperationOperationsEventsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsEventsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsEventsListErrorDefinitionSchema1"}}]},"OperationOperationsInvocationsListInput":{"type":"object","properties":{"operationId":{"type":"string","minLength":1},"transport":{"type":"string","enum":["http","mcp"]},"outcome":{"type":"string","enum":["succeeded","rejected","failed"]},"requestId":{"type":"string","minLength":1},"occurredAfter":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"occurredBefore":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cursor":{"type":"string","minLength":1},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}}},"OperationOperationsInvocationsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"operationId":{"type":"string","minLength":1},"actorType":{"type":"string","enum":["integration","service"]},"actorId":{"type":"string","minLength":1},"transport":{"type":"string","enum":["http","mcp"]},"oauthClientId":{"type":"string","minLength":1},"oauthGrantingUserId":{"type":"string","minLength":1},"mcpToolName":{"type":"string","minLength":1},"confirmationDecision":{"type":"string","enum":["not_required","accepted","rejected"]},"confirmationMethod":{"type":"string","enum":["explicit_confirm","elicitation"]},"outcome":{"type":"string","enum":["succeeded","rejected","failed"]},"status":{"type":"integer","minimum":100,"maximum":599},"errorCode":{"type":"string","minLength":1},"durationMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"requestId":{"type":"string","minLength":1},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","operationId","actorType","actorId","transport","confirmationDecision","outcome","status","durationMs","requestId","occurredAt","expiresAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string","minLength":1}},"required":["items","nextCursor"],"additionalProperties":false},"OperationOperationsInvocationsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","FORBIDDEN","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsInvocationsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOperationsInvocationsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOperationsInvocationsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsInvocationsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsInvocationsListErrorDefinitionSchema0"}}]},"OperationOperationsInvocationsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsInvocationsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsInvocationsListErrorDefinitionSchema1"}}]},"OperationOperationsModulesListInput":{"type":"object","properties":{"module":{"type":"string"},"query":{"description":"Case-insensitive text matched against operation ids, modules, and summaries.","type":"string","minLength":1},"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"description":"Number of operations to return; must be between 1 and 100 and defaults to 25.","type":"integer","minimum":1,"maximum":100}}},"OperationOperationsModulesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationOperationsModulesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsModulesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationOperationsModulesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationOperationsModulesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsModulesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsModulesListErrorDefinitionSchema0"}}]},"OperationOperationsModulesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationOperationsModulesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationOperationsModulesListErrorDefinitionSchema1"}}]},"OperationPaymentsCreateInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"contractId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"meetingId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["product","contract","meeting"]},"totalNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"amountCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"provider":{"type":"string","minLength":1},"paymentMethod":{"type":"string","enum":["card","klarna","paypal","visa","mastercard","amex","stripe","stripe_card","bank_transfer","transfer","external_payment","manual"]},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsCreateInputDefinitionSchema0"}}},"idempotencyKey":{"type":"string","minLength":1},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsCreateInputDefinitionSchema0"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["totalNetCents","totalGrossCents","currency","provider","idempotencyKey"],"additionalProperties":false},"OperationPaymentsCreateInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationPaymentsCreateInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsCreateInputDefinitionSchema0"}}]},"OperationPaymentsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"contractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"meetingId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["pending","requires_action","succeeded","failed","refunded","cancelled","voided"]},"type":{"type":"string","enum":["product","contract","meeting"]},"amountCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"provider":{"type":"string"},"paymentMethod":{"type":"string","enum":["card","klarna","paypal","visa","mastercard","amex","stripe","stripe_card","bank_transfer","transfer","external_payment","manual"]},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsCreateOutputDefinitionSchema0"}}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"replayed":{"type":"boolean","description":"True when this idempotency key had already been used."}},"required":["id","clientId","contractId","invoiceId","meetingId","status","type","amountCents","currency","provider","paymentMethod","items","createdAt","updatedAt","replayed"],"additionalProperties":false},"OperationPaymentsCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationPaymentsCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsCreateOutputDefinitionSchema0"}}]},"OperationPaymentsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","IDEMPOTENCY_CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationPaymentsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationPaymentsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsCreateErrorDefinitionSchema0"}}]},"OperationPaymentsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationPaymentsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsCreateErrorDefinitionSchema1"}}]},"OperationPaymentsGetInput":{"type":"object","properties":{"paymentId":{"description":"Payment ledger entry identifier.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"OperationPaymentsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"clientId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"contractId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"invoiceId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"meetingId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["pending","requires_action","succeeded","failed","refunded","cancelled","voided"]},"type":{"type":"string","enum":["product","contract","meeting"]},"amountCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"provider":{"type":"string"},"paymentMethod":{"type":"string","enum":["card","klarna","paypal","visa","mastercard","amex","stripe","stripe_card","bank_transfer","transfer","external_payment","manual"]},"items":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsGetOutputDefinitionSchema0"}}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","clientId","contractId","invoiceId","meetingId","status","type","amountCents","currency","provider","paymentMethod","items","createdAt","updatedAt"],"additionalProperties":false},"OperationPaymentsGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationPaymentsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsGetOutputDefinitionSchema0"}}]},"OperationPaymentsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationPaymentsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationPaymentsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsGetErrorDefinitionSchema0"}}]},"OperationPaymentsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationPaymentsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsGetErrorDefinitionSchema1"}}]},"OperationPaymentsStatsGetInput":{"type":"object","properties":{}},"OperationPaymentsStatsGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["payment_stats"]},"totalsByCurrency":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":3,"maxLength":3},"invoicedGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"collectedGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"pendingGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["currency","invoicedGrossCents","collectedGrossCents","pendingGrossCents"],"additionalProperties":false}}},"required":["id","totalsByCurrency"],"additionalProperties":false},"OperationPaymentsStatsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsStatsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsStatsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationPaymentsStatsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationPaymentsStatsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsStatsGetErrorDefinitionSchema0"}}]},"OperationPaymentsStatsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationPaymentsStatsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationPaymentsStatsGetErrorDefinitionSchema1"}}]},"OperationProductsGetInput":{"type":"object","properties":{"productId":{"description":"Product identifier associated with the request.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"OperationProductsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ProductId"},"name":{"type":"string"},"description":{"default":null,"nullable":true,"type":"string"},"status":{"type":"string","enum":["draft","active","archived"]},"link":{"default":null,"nullable":true,"type":"string"},"contractTemplateId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractTemplateId"},"priceCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"taxRateBps":{"type":"integer","minimum":0,"maximum":9007199254740991},"vatExemptionReason":{"description":"Legal basis printed on invoice lines of this product when its VAT rate is 0% (e.g. \"Steuerfrei gemäß § 4 Nr. 14 UStG\"). Absent means the account default from billing.invoiceSettings applies.","type":"string"},"digitalAssetStorageId":{"default":null,"nullable":true,"type":"string"},"publicVisible":{"default":null,"nullable":true,"type":"boolean"},"metadata":{"type":"object","properties":{"bundled_product_ids":{"allOf":[{"$ref":"#/components/schemas/OperationProductsGetOutputDefinitionSchema0"},{"type":"array","items":{"type":"string"}}]},"digital_assets":{"allOf":[{"$ref":"#/components/schemas/OperationProductsGetOutputDefinitionSchema0"},{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationProductsGetOutputDefinitionSchema0"}}}]}},"required":["bundled_product_ids","digital_assets"],"additionalProperties":{"$ref":"#/components/schemas/OperationProductsGetOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"archivedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"priceNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"priceGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"netPrice":{"type":"boolean"},"enabled":{"type":"boolean"},"paymentConfig":{"default":null,"nullable":true,"type":"object","properties":{"allowed_methods":{"type":"object","properties":{"card":{"type":"boolean"},"klarna":{"type":"boolean"},"paypal":{"type":"boolean"},"wallet":{"type":"boolean"}},"additionalProperties":false},"installments":{"type":"object","properties":{"enabled":{"type":"boolean"},"max_duration_months":{"type":"integer","minimum":2,"maximum":48},"min_months":{"type":"integer","minimum":1,"maximum":48},"min_amount_cents":{"type":"integer","minimum":0,"maximum":9007199254740991},"provider_strategies":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string","enum":["stripe_automatic","paypal_automatic","paypal_link","manual"]}},"upfront_payment":{"type":"object","properties":{"enabled":{"type":"boolean"},"type":{"type":"string","enum":["fixed","percentage"]},"value":{"type":"number","minimum":0}},"required":["enabled","type","value"],"additionalProperties":false},"interest":{"type":"object","properties":{"enabled":{"type":"boolean"},"percentage":{"type":"number","minimum":0}},"required":["enabled","percentage"],"additionalProperties":false},"require_failed_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","max_duration_months"],"additionalProperties":false}},"additionalProperties":false},"capabilities":{"type":"object","properties":{"canUpdate":{"type":"boolean"},"canSetStatus":{"type":"boolean"},"canDuplicate":{"type":"boolean"},"canArchive":{"type":"boolean"},"canManageAssets":{"type":"boolean"},"canManageLink":{"type":"boolean"}},"required":["canUpdate","canSetStatus","canDuplicate","canArchive","canManageAssets","canManageLink"],"additionalProperties":false}},"required":["id","name","description","status","link","contractTemplateId","priceCents","currency","taxRateBps","digitalAssetStorageId","publicVisible","metadata","createdAt","updatedAt","archivedAt","priceNetCents","priceGrossCents","netPrice","enabled","paymentConfig","capabilities"],"additionalProperties":false},"OperationProductsGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationProductsGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationProductsGetOutputDefinitionSchema0"}}]},"OperationProductsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationProductsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationProductsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationProductsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationProductsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationProductsGetErrorDefinitionSchema0"}}]},"OperationProductsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationProductsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationProductsGetErrorDefinitionSchema1"}}]},"OperationProductsListInput":{"type":"object","properties":{"status":{"description":"Optional product lifecycle status to include.","type":"string","enum":["draft","active","archived"]},"includeArchived":{"description":"Include products that have been archived.","type":"boolean"},"query":{"description":"Optional text matched against product names and descriptions.","type":"string"},"cursor":{"type":"string","minLength":1,"maxLength":4096},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100}}},"OperationProductsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ProductId"},"name":{"type":"string"},"description":{"default":null,"nullable":true,"type":"string"},"status":{"type":"string","enum":["draft","active","archived"]},"link":{"default":null,"nullable":true,"type":"string"},"contractTemplateId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractTemplateId"},"priceCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":3,"maxLength":3},"taxRateBps":{"type":"integer","minimum":0,"maximum":9007199254740991},"vatExemptionReason":{"description":"Legal basis printed on invoice lines of this product when its VAT rate is 0% (e.g. \"Steuerfrei gemäß § 4 Nr. 14 UStG\"). Absent means the account default from billing.invoiceSettings applies.","type":"string"},"digitalAssetStorageId":{"default":null,"nullable":true,"type":"string"},"publicVisible":{"default":null,"nullable":true,"type":"boolean"},"metadata":{"type":"object","properties":{"bundled_product_ids":{"allOf":[{"$ref":"#/components/schemas/OperationProductsListOutputDefinitionSchema0"},{"type":"array","items":{"type":"string"}}]},"digital_assets":{"allOf":[{"$ref":"#/components/schemas/OperationProductsListOutputDefinitionSchema0"},{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationProductsListOutputDefinitionSchema0"}}}]}},"required":["bundled_product_ids","digital_assets"],"additionalProperties":{"$ref":"#/components/schemas/OperationProductsListOutputDefinitionSchema0"}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"archivedAt":{"default":null,"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"priceNetCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"priceGrossCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"netPrice":{"type":"boolean"},"enabled":{"type":"boolean"},"paymentConfig":{"default":null,"nullable":true,"type":"object","properties":{"allowed_methods":{"type":"object","properties":{"card":{"type":"boolean"},"klarna":{"type":"boolean"},"paypal":{"type":"boolean"},"wallet":{"type":"boolean"}},"additionalProperties":false},"installments":{"type":"object","properties":{"enabled":{"type":"boolean"},"max_duration_months":{"type":"integer","minimum":2,"maximum":48},"min_months":{"type":"integer","minimum":1,"maximum":48},"min_amount_cents":{"type":"integer","minimum":0,"maximum":9007199254740991},"provider_strategies":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string","enum":["stripe_automatic","paypal_automatic","paypal_link","manual"]}},"upfront_payment":{"type":"object","properties":{"enabled":{"type":"boolean"},"type":{"type":"string","enum":["fixed","percentage"]},"value":{"type":"number","minimum":0}},"required":["enabled","type","value"],"additionalProperties":false},"interest":{"type":"object","properties":{"enabled":{"type":"boolean"},"percentage":{"type":"number","minimum":0}},"required":["enabled","percentage"],"additionalProperties":false},"require_failed_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["enabled","max_duration_months"],"additionalProperties":false}},"additionalProperties":false},"capabilities":{"type":"object","properties":{"canUpdate":{"type":"boolean"},"canSetStatus":{"type":"boolean"},"canDuplicate":{"type":"boolean"},"canArchive":{"type":"boolean"},"canManageAssets":{"type":"boolean"},"canManageLink":{"type":"boolean"}},"required":["canUpdate","canSetStatus","canDuplicate","canArchive","canManageAssets","canManageLink"],"additionalProperties":false}},"required":["id","name","description","status","link","contractTemplateId","priceCents","currency","taxRateBps","digitalAssetStorageId","publicVisible","metadata","createdAt","updatedAt","archivedAt","priceNetCents","priceGrossCents","netPrice","enabled","paymentConfig","capabilities"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationProductsListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationProductsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationProductsListOutputDefinitionSchema0"}}]},"OperationProductsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationProductsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationProductsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationProductsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationProductsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationProductsListErrorDefinitionSchema0"}}]},"OperationProductsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationProductsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationProductsListErrorDefinitionSchema1"}}]},"OperationRepositoriesChangesCancelInput":{"type":"object","properties":{"changeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository change id"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["changeId"],"additionalProperties":false},"OperationRepositoriesChangesCancelOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository change id"},"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"lane":{"type":"string","enum":["seo_website","support_remediation","support_verification","support_chat"]},"mode":{"default":"agent","type":"string","enum":["agent","file_writes"]},"goal":{"type":"string"},"requestedPaths":{"type":"array","items":{"type":"string"}},"fileWrites":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":500},"content":{"type":"string"},"createOnly":{"type":"boolean"},"seoEdit":{"default":null,"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]},"before":{"type":"string","minLength":1,"maxLength":8000},"after":{"type":"string","minLength":1,"maxLength":8000},"expectedBaseSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"expectedSource":{"type":"string","minLength":1,"maxLength":65536},"baselineId":{"type":"string","minLength":1,"maxLength":200,"x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."}},"articleRevisionId":{"type":"string","minLength":1,"maxLength":300},"permissionRevision":{"type":"string","minLength":1,"maxLength":200},"articleId":{"type":"string","minLength":1,"maxLength":200},"approvedRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["kind","before","after","expectedBaseSha","expectedSource","baselineId","articleRevisionId"],"additionalProperties":false},"delete":{"default":null,"nullable":true,"type":"boolean","enum":[true]}},"required":["path","content","createOnly","seoEdit","delete"],"additionalProperties":false}},"executionRoute":{"default":null,"nullable":true,"type":"object","properties":{"executionMode":{"type":"string","enum":["direct_edit","agent","manual"]},"billingMode":{"type":"string","enum":["paid_api"]},"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1,"maxLength":200},"effort":{"type":"string","enum":["low","medium","high","xhigh"]},"limits":{"type":"object","properties":{"contextTokens":{"type":"integer","minimum":0,"maximum":200000},"outputTokens":{"type":"integer","minimum":0,"maximum":64000},"toolCalls":{"type":"integer","minimum":0,"maximum":200},"attempts":{"type":"integer","minimum":0,"maximum":5}},"required":["contextTokens","outputTokens","toolCalls","attempts"],"additionalProperties":false},"reason":{"type":"string","minLength":1,"maxLength":2000},"recovery":{"type":"string","enum":["resolve_target","connect_website","configure_paid_provider","review_scope","configure_model","configure_pricing"]},"fallback":{"type":"object","properties":{"providerFailover":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1},"effort":{"type":"string","enum":["low","medium","high","xhigh"]}},"required":["provider","model"],"additionalProperties":false}},"qualityEscalation":{"nullable":true,"type":"object","properties":{"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1},"effort":{"type":"string","enum":["low","medium","high","xhigh"]}},"required":["provider","model"],"additionalProperties":false},"maxQualityEscalations":{"anyOf":[{"type":"number","enum":[0]},{"type":"number","enum":[1]}]}},"required":["providerFailover","qualityEscalation","maxQualityEscalations"],"additionalProperties":false}},"required":["executionMode","billingMode","limits","reason","fallback"],"additionalProperties":false},"evidence":{"nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["search_console","site_audit","support_report","ai_visibility","manual"]},"summary":{"type":"string","minLength":1,"maxLength":2000},"items":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":500},"detail":{"type":"string","minLength":1,"maxLength":1000}},"required":["ref","detail"],"additionalProperties":false}}},"required":["source","summary","items"],"additionalProperties":false},"requestPullRequest":{"type":"boolean"},"requestedByUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"requestedByActor":{"type":"string","enum":["user","flow","service"]},"state":{"type":"string","enum":["requested","planning","editing","validating","ready_to_publish","committed","pushed","preview_ready","pull_request_opened","merged","human_required","cancelled"]},"workflowId":{"nullable":true,"type":"string"},"runnerClaimExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"threadId":{"nullable":true,"type":"string"},"approvedPaths":{"type":"array","items":{"type":"string"}},"baselineBranch":{"nullable":true,"type":"string"},"baselineHead":{"nullable":true,"type":"string"},"baselineSnapshotSha256":{"nullable":true,"type":"string"},"branchName":{"nullable":true,"type":"string"},"gatePlan":{"type":"array","items":{"type":"string"}},"baselineGateEvidence":{"type":"array","items":{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":100},"exitCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"diagnosticSignatures":{"maxItems":2000,"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"stdoutSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"stderrSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"durationMs":{"type":"integer","minimum":0,"maximum":3600000}},"required":["commandId","exitCode","diagnosticSignatures","stdoutSha256","stderrSha256","durationMs"],"additionalProperties":false}},"reviewedDiffSha256":{"nullable":true,"type":"string"},"commitSha":{"nullable":true,"type":"string"},"pushedSha":{"nullable":true,"type":"string"},"preview":{"nullable":true,"type":"object","properties":{"provider":{"type":"string","enum":["vercel","moreflow"]},"deploymentId":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","maxLength":2000,"format":"uri"},"status":{"type":"string","enum":["building","ready","error"]},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["provider","deploymentId","url","status","checkedAt"],"additionalProperties":false},"pullRequest":{"nullable":true,"type":"object","properties":{"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"url":{"type":"string","maxLength":2000,"format":"uri"},"checkStatus":{"type":"string","enum":["pending","passing","failing","unknown"]},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["number","url","checkStatus","checkedAt"],"additionalProperties":false},"mergeSha":{"default":null,"nullable":true,"type":"string","pattern":"^[a-f0-9]{40,64}$"},"attemptCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failureCode":{"nullable":true,"type":"string","enum":["forbidden_path","scope_expansion","skills_touched","migration_or_schema_change","sensitive_topic_detected","changed_test_missing","path_not_allowlisted","connection_unverified","read_only_connection","baseline_drift","agent_unavailable","agent_output_invalid","gate_failed","focused_test_failed","reviewed_diff_changed","commit_failed","push_rejected","production_branch_target","credential_unavailable","dependencies_unavailable","preview_unavailable","pull_request_failed","attempts_exhausted","lease_expired"]},"failureReason":{"nullable":true,"type":"string"},"humanRequiredReason":{"nullable":true,"type":"string","enum":["merge","failure"]},"summary":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","connectionId","lane","mode","goal","requestedPaths","fileWrites","executionRoute","evidence","requestPullRequest","requestedByUserId","requestedByActor","state","workflowId","runnerClaimExpiresAt","threadId","approvedPaths","baselineBranch","baselineHead","baselineSnapshotSha256","branchName","gatePlan","baselineGateEvidence","reviewedDiffSha256","commitSha","pushedSha","preview","pullRequest","mergeSha","attemptCount","failureCode","failureReason","humanRequiredReason","summary","createdAt","updatedAt"],"additionalProperties":false,"examples":[{"id":"52000000-0000-4000-8000-000000000201","connectionId":"52000000-0000-4000-8000-000000000101","lane":"seo_website","mode":"agent","goal":"Improve the pricing page metadata.","requestedPaths":["app/pricing/page.tsx"],"fileWrites":[],"executionRoute":null,"evidence":null,"requestPullRequest":false,"requestedByUserId":null,"requestedByActor":"user","state":"requested","workflowId":null,"runnerClaimExpiresAt":null,"threadId":null,"approvedPaths":[],"baselineBranch":"main","baselineHead":null,"baselineSnapshotSha256":null,"branchName":null,"gatePlan":[],"baselineGateEvidence":[],"reviewedDiffSha256":null,"commitSha":null,"pushedSha":null,"preview":null,"pullRequest":null,"mergeSha":null,"attemptCount":0,"failureCode":null,"failureReason":null,"humanRequiredReason":null,"summary":null,"createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z"}]},"OperationRepositoriesChangesCancelError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","REPOSITORY_CHANGE_NOT_FOUND","REPOSITORY_CHANGE_NOT_CANCELLABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationRepositoriesChangesCancelErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelErrorDefinitionSchema0"}}]},"OperationRepositoriesChangesCancelErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelErrorDefinitionSchema1"}}]},"OperationRepositoriesChangesGetInput":{"type":"object","properties":{"changeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository change id"}},"required":["changeId"],"additionalProperties":false},"OperationRepositoriesChangesGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository change id"},"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"lane":{"type":"string","enum":["seo_website","support_remediation","support_verification","support_chat"]},"mode":{"default":"agent","type":"string","enum":["agent","file_writes"]},"goal":{"type":"string"},"requestedPaths":{"type":"array","items":{"type":"string"}},"fileWrites":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":500},"content":{"type":"string"},"createOnly":{"type":"boolean"},"seoEdit":{"default":null,"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]},"before":{"type":"string","minLength":1,"maxLength":8000},"after":{"type":"string","minLength":1,"maxLength":8000},"expectedBaseSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"expectedSource":{"type":"string","minLength":1,"maxLength":65536},"baselineId":{"type":"string","minLength":1,"maxLength":200,"x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."}},"articleRevisionId":{"type":"string","minLength":1,"maxLength":300},"permissionRevision":{"type":"string","minLength":1,"maxLength":200},"articleId":{"type":"string","minLength":1,"maxLength":200},"approvedRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["kind","before","after","expectedBaseSha","expectedSource","baselineId","articleRevisionId"],"additionalProperties":false},"delete":{"default":null,"nullable":true,"type":"boolean","enum":[true]}},"required":["path","content","createOnly","seoEdit","delete"],"additionalProperties":false}},"executionRoute":{"default":null,"nullable":true,"type":"object","properties":{"executionMode":{"type":"string","enum":["direct_edit","agent","manual"]},"billingMode":{"type":"string","enum":["paid_api"]},"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1,"maxLength":200},"effort":{"type":"string","enum":["low","medium","high","xhigh"]},"limits":{"type":"object","properties":{"contextTokens":{"type":"integer","minimum":0,"maximum":200000},"outputTokens":{"type":"integer","minimum":0,"maximum":64000},"toolCalls":{"type":"integer","minimum":0,"maximum":200},"attempts":{"type":"integer","minimum":0,"maximum":5}},"required":["contextTokens","outputTokens","toolCalls","attempts"],"additionalProperties":false},"reason":{"type":"string","minLength":1,"maxLength":2000},"recovery":{"type":"string","enum":["resolve_target","connect_website","configure_paid_provider","review_scope","configure_model","configure_pricing"]},"fallback":{"type":"object","properties":{"providerFailover":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1},"effort":{"type":"string","enum":["low","medium","high","xhigh"]}},"required":["provider","model"],"additionalProperties":false}},"qualityEscalation":{"nullable":true,"type":"object","properties":{"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1},"effort":{"type":"string","enum":["low","medium","high","xhigh"]}},"required":["provider","model"],"additionalProperties":false},"maxQualityEscalations":{"anyOf":[{"type":"number","enum":[0]},{"type":"number","enum":[1]}]}},"required":["providerFailover","qualityEscalation","maxQualityEscalations"],"additionalProperties":false}},"required":["executionMode","billingMode","limits","reason","fallback"],"additionalProperties":false},"evidence":{"nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["search_console","site_audit","support_report","ai_visibility","manual"]},"summary":{"type":"string","minLength":1,"maxLength":2000},"items":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":500},"detail":{"type":"string","minLength":1,"maxLength":1000}},"required":["ref","detail"],"additionalProperties":false}}},"required":["source","summary","items"],"additionalProperties":false},"requestPullRequest":{"type":"boolean"},"requestedByUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"requestedByActor":{"type":"string","enum":["user","flow","service"]},"state":{"type":"string","enum":["requested","planning","editing","validating","ready_to_publish","committed","pushed","preview_ready","pull_request_opened","merged","human_required","cancelled"]},"workflowId":{"nullable":true,"type":"string"},"runnerClaimExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"threadId":{"nullable":true,"type":"string"},"approvedPaths":{"type":"array","items":{"type":"string"}},"baselineBranch":{"nullable":true,"type":"string"},"baselineHead":{"nullable":true,"type":"string"},"baselineSnapshotSha256":{"nullable":true,"type":"string"},"branchName":{"nullable":true,"type":"string"},"gatePlan":{"type":"array","items":{"type":"string"}},"baselineGateEvidence":{"type":"array","items":{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":100},"exitCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"diagnosticSignatures":{"maxItems":2000,"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"stdoutSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"stderrSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"durationMs":{"type":"integer","minimum":0,"maximum":3600000}},"required":["commandId","exitCode","diagnosticSignatures","stdoutSha256","stderrSha256","durationMs"],"additionalProperties":false}},"reviewedDiffSha256":{"nullable":true,"type":"string"},"commitSha":{"nullable":true,"type":"string"},"pushedSha":{"nullable":true,"type":"string"},"preview":{"nullable":true,"type":"object","properties":{"provider":{"type":"string","enum":["vercel","moreflow"]},"deploymentId":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","maxLength":2000,"format":"uri"},"status":{"type":"string","enum":["building","ready","error"]},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["provider","deploymentId","url","status","checkedAt"],"additionalProperties":false},"pullRequest":{"nullable":true,"type":"object","properties":{"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"url":{"type":"string","maxLength":2000,"format":"uri"},"checkStatus":{"type":"string","enum":["pending","passing","failing","unknown"]},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["number","url","checkStatus","checkedAt"],"additionalProperties":false},"mergeSha":{"default":null,"nullable":true,"type":"string","pattern":"^[a-f0-9]{40,64}$"},"attemptCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failureCode":{"nullable":true,"type":"string","enum":["forbidden_path","scope_expansion","skills_touched","migration_or_schema_change","sensitive_topic_detected","changed_test_missing","path_not_allowlisted","connection_unverified","read_only_connection","baseline_drift","agent_unavailable","agent_output_invalid","gate_failed","focused_test_failed","reviewed_diff_changed","commit_failed","push_rejected","production_branch_target","credential_unavailable","dependencies_unavailable","preview_unavailable","pull_request_failed","attempts_exhausted","lease_expired"]},"failureReason":{"nullable":true,"type":"string"},"humanRequiredReason":{"nullable":true,"type":"string","enum":["merge","failure"]},"summary":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","connectionId","lane","mode","goal","requestedPaths","fileWrites","executionRoute","evidence","requestPullRequest","requestedByUserId","requestedByActor","state","workflowId","runnerClaimExpiresAt","threadId","approvedPaths","baselineBranch","baselineHead","baselineSnapshotSha256","branchName","gatePlan","baselineGateEvidence","reviewedDiffSha256","commitSha","pushedSha","preview","pullRequest","mergeSha","attemptCount","failureCode","failureReason","humanRequiredReason","summary","createdAt","updatedAt"],"additionalProperties":false,"examples":[{"id":"52000000-0000-4000-8000-000000000201","connectionId":"52000000-0000-4000-8000-000000000101","lane":"seo_website","mode":"agent","goal":"Improve the pricing page metadata.","requestedPaths":["app/pricing/page.tsx"],"fileWrites":[],"executionRoute":null,"evidence":null,"requestPullRequest":false,"requestedByUserId":null,"requestedByActor":"user","state":"requested","workflowId":null,"runnerClaimExpiresAt":null,"threadId":null,"approvedPaths":[],"baselineBranch":"main","baselineHead":null,"baselineSnapshotSha256":null,"branchName":null,"gatePlan":[],"baselineGateEvidence":[],"reviewedDiffSha256":null,"commitSha":null,"pushedSha":null,"preview":null,"pullRequest":null,"mergeSha":null,"attemptCount":0,"failureCode":null,"failureReason":null,"humanRequiredReason":null,"summary":null,"createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z"}]},"OperationRepositoriesChangesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","REPOSITORY_CHANGE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationRepositoriesChangesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetErrorDefinitionSchema0"}}]},"OperationRepositoriesChangesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetErrorDefinitionSchema1"}}]},"OperationRepositoriesChangesListInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"activeOnly":{"type":"boolean"},"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"description":"Number of changes to return; must be between 1 and 100 and defaults to 25.","type":"integer","minimum":1,"maximum":100}},"additionalProperties":false},"OperationRepositoriesChangesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository change id"},"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"lane":{"type":"string","enum":["seo_website","support_remediation","support_verification","support_chat"]},"mode":{"default":"agent","type":"string","enum":["agent","file_writes"]},"goal":{"type":"string"},"requestedPaths":{"type":"array","items":{"type":"string"}},"fileWrites":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":500},"content":{"type":"string"},"createOnly":{"type":"boolean"},"seoEdit":{"default":null,"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]},"before":{"type":"string","minLength":1,"maxLength":8000},"after":{"type":"string","minLength":1,"maxLength":8000},"expectedBaseSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"expectedSource":{"type":"string","minLength":1,"maxLength":65536},"baselineId":{"type":"string","minLength":1,"maxLength":200,"x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."}},"articleRevisionId":{"type":"string","minLength":1,"maxLength":300},"permissionRevision":{"type":"string","minLength":1,"maxLength":200},"articleId":{"type":"string","minLength":1,"maxLength":200},"approvedRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["kind","before","after","expectedBaseSha","expectedSource","baselineId","articleRevisionId"],"additionalProperties":false},"delete":{"default":null,"nullable":true,"type":"boolean","enum":[true]}},"required":["path","content","createOnly","seoEdit","delete"],"additionalProperties":false}},"executionRoute":{"default":null,"nullable":true,"type":"object","properties":{"executionMode":{"type":"string","enum":["direct_edit","agent","manual"]},"billingMode":{"type":"string","enum":["paid_api"]},"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1,"maxLength":200},"effort":{"type":"string","enum":["low","medium","high","xhigh"]},"limits":{"type":"object","properties":{"contextTokens":{"type":"integer","minimum":0,"maximum":200000},"outputTokens":{"type":"integer","minimum":0,"maximum":64000},"toolCalls":{"type":"integer","minimum":0,"maximum":200},"attempts":{"type":"integer","minimum":0,"maximum":5}},"required":["contextTokens","outputTokens","toolCalls","attempts"],"additionalProperties":false},"reason":{"type":"string","minLength":1,"maxLength":2000},"recovery":{"type":"string","enum":["resolve_target","connect_website","configure_paid_provider","review_scope","configure_model","configure_pricing"]},"fallback":{"type":"object","properties":{"providerFailover":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1},"effort":{"type":"string","enum":["low","medium","high","xhigh"]}},"required":["provider","model"],"additionalProperties":false}},"qualityEscalation":{"nullable":true,"type":"object","properties":{"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1},"effort":{"type":"string","enum":["low","medium","high","xhigh"]}},"required":["provider","model"],"additionalProperties":false},"maxQualityEscalations":{"anyOf":[{"type":"number","enum":[0]},{"type":"number","enum":[1]}]}},"required":["providerFailover","qualityEscalation","maxQualityEscalations"],"additionalProperties":false}},"required":["executionMode","billingMode","limits","reason","fallback"],"additionalProperties":false},"evidence":{"nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["search_console","site_audit","support_report","ai_visibility","manual"]},"summary":{"type":"string","minLength":1,"maxLength":2000},"items":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":500},"detail":{"type":"string","minLength":1,"maxLength":1000}},"required":["ref","detail"],"additionalProperties":false}}},"required":["source","summary","items"],"additionalProperties":false},"requestPullRequest":{"type":"boolean"},"requestedByUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"requestedByActor":{"type":"string","enum":["user","flow","service"]},"state":{"type":"string","enum":["requested","planning","editing","validating","ready_to_publish","committed","pushed","preview_ready","pull_request_opened","merged","human_required","cancelled"]},"workflowId":{"nullable":true,"type":"string"},"runnerClaimExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"threadId":{"nullable":true,"type":"string"},"approvedPaths":{"type":"array","items":{"type":"string"}},"baselineBranch":{"nullable":true,"type":"string"},"baselineHead":{"nullable":true,"type":"string"},"baselineSnapshotSha256":{"nullable":true,"type":"string"},"branchName":{"nullable":true,"type":"string"},"gatePlan":{"type":"array","items":{"type":"string"}},"baselineGateEvidence":{"type":"array","items":{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":100},"exitCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"diagnosticSignatures":{"maxItems":2000,"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"stdoutSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"stderrSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"durationMs":{"type":"integer","minimum":0,"maximum":3600000}},"required":["commandId","exitCode","diagnosticSignatures","stdoutSha256","stderrSha256","durationMs"],"additionalProperties":false}},"reviewedDiffSha256":{"nullable":true,"type":"string"},"commitSha":{"nullable":true,"type":"string"},"pushedSha":{"nullable":true,"type":"string"},"preview":{"nullable":true,"type":"object","properties":{"provider":{"type":"string","enum":["vercel","moreflow"]},"deploymentId":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","maxLength":2000,"format":"uri"},"status":{"type":"string","enum":["building","ready","error"]},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["provider","deploymentId","url","status","checkedAt"],"additionalProperties":false},"pullRequest":{"nullable":true,"type":"object","properties":{"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"url":{"type":"string","maxLength":2000,"format":"uri"},"checkStatus":{"type":"string","enum":["pending","passing","failing","unknown"]},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["number","url","checkStatus","checkedAt"],"additionalProperties":false},"mergeSha":{"default":null,"nullable":true,"type":"string","pattern":"^[a-f0-9]{40,64}$"},"attemptCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failureCode":{"nullable":true,"type":"string","enum":["forbidden_path","scope_expansion","skills_touched","migration_or_schema_change","sensitive_topic_detected","changed_test_missing","path_not_allowlisted","connection_unverified","read_only_connection","baseline_drift","agent_unavailable","agent_output_invalid","gate_failed","focused_test_failed","reviewed_diff_changed","commit_failed","push_rejected","production_branch_target","credential_unavailable","dependencies_unavailable","preview_unavailable","pull_request_failed","attempts_exhausted","lease_expired"]},"failureReason":{"nullable":true,"type":"string"},"humanRequiredReason":{"nullable":true,"type":"string","enum":["merge","failure"]},"summary":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","connectionId","lane","mode","goal","requestedPaths","fileWrites","executionRoute","evidence","requestPullRequest","requestedByUserId","requestedByActor","state","workflowId","runnerClaimExpiresAt","threadId","approvedPaths","baselineBranch","baselineHead","baselineSnapshotSha256","branchName","gatePlan","baselineGateEvidence","reviewedDiffSha256","commitSha","pushedSha","preview","pullRequest","mergeSha","attemptCount","failureCode","failureReason","humanRequiredReason","summary","createdAt","updatedAt"],"additionalProperties":false,"examples":[{"id":"52000000-0000-4000-8000-000000000201","connectionId":"52000000-0000-4000-8000-000000000101","lane":"seo_website","mode":"agent","goal":"Improve the pricing page metadata.","requestedPaths":["app/pricing/page.tsx"],"fileWrites":[],"executionRoute":null,"evidence":null,"requestPullRequest":false,"requestedByUserId":null,"requestedByActor":"user","state":"requested","workflowId":null,"runnerClaimExpiresAt":null,"threadId":null,"approvedPaths":[],"baselineBranch":"main","baselineHead":null,"baselineSnapshotSha256":null,"branchName":null,"gatePlan":[],"baselineGateEvidence":[],"reviewedDiffSha256":null,"commitSha":null,"pushedSha":null,"preview":null,"pullRequest":null,"mergeSha":null,"attemptCount":0,"failureCode":null,"failureReason":null,"humanRequiredReason":null,"summary":null,"createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z"}]}},"nextCursor":{"nullable":true,"type":"string"}},"required":["items","nextCursor"],"additionalProperties":false,"examples":[{"items":[{"id":"52000000-0000-4000-8000-000000000201","connectionId":"52000000-0000-4000-8000-000000000101","lane":"seo_website","mode":"agent","goal":"Improve the pricing page metadata.","requestedPaths":["app/pricing/page.tsx"],"fileWrites":[],"executionRoute":null,"evidence":null,"requestPullRequest":false,"requestedByUserId":null,"requestedByActor":"user","state":"requested","workflowId":null,"runnerClaimExpiresAt":null,"threadId":null,"approvedPaths":[],"baselineBranch":"main","baselineHead":null,"baselineSnapshotSha256":null,"branchName":null,"gatePlan":[],"baselineGateEvidence":[],"reviewedDiffSha256":null,"commitSha":null,"pushedSha":null,"preview":null,"pullRequest":null,"mergeSha":null,"attemptCount":0,"failureCode":null,"failureReason":null,"humanRequiredReason":null,"summary":null,"createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z"}],"nextCursor":null}]},"OperationRepositoriesChangesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationRepositoriesChangesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesChangesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesListErrorDefinitionSchema0"}}]},"OperationRepositoriesChangesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesChangesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesListErrorDefinitionSchema1"}}]},"OperationRepositoriesChangesProposeInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The connected repository to change."},"lane":{"type":"string","enum":["seo_website","support_remediation"],"description":"The lane proposing the change; gated by repository purpose."},"goal":{"type":"string","minLength":1,"maxLength":2000,"description":"What the change should achieve, in one paragraph."},"mode":{"default":"agent","type":"string","enum":["agent","file_writes"]},"targetPaths":{"description":"Repository-relative files the change may touch.","minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"fileWrites":{"description":"Bounded additive file writes for the file_writes lane.","maxItems":10,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":500},"content":{"type":"string"},"createOnly":{"type":"boolean"},"seoEdit":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]},"before":{"type":"string","minLength":1,"maxLength":8000},"after":{"type":"string","minLength":1,"maxLength":8000},"expectedBaseSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"expectedSource":{"type":"string","minLength":1,"maxLength":65536},"baselineId":{"type":"string","minLength":1,"maxLength":200,"x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."}},"articleRevisionId":{"type":"string","minLength":1,"maxLength":300},"permissionRevision":{"type":"string","minLength":1,"maxLength":200},"articleId":{"type":"string","minLength":1,"maxLength":200},"approvedRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["kind","before","after","expectedBaseSha","expectedSource","baselineId","articleRevisionId"],"additionalProperties":false},"delete":{"nullable":true,"type":"boolean","enum":[true]}},"required":["path","content","createOnly"],"additionalProperties":false}},"executionRoute":{"description":"Compatibility hint only; the server resolves the authoritative paid route from account policy.","type":"object","properties":{"executionMode":{"type":"string","enum":["direct_edit","agent","manual"]},"billingMode":{"type":"string","enum":["paid_api"]},"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1,"maxLength":200},"effort":{"type":"string","enum":["low","medium","high","xhigh"]},"limits":{"type":"object","properties":{"contextTokens":{"type":"integer","minimum":0,"maximum":200000},"outputTokens":{"type":"integer","minimum":0,"maximum":64000},"toolCalls":{"type":"integer","minimum":0,"maximum":200},"attempts":{"type":"integer","minimum":0,"maximum":5}},"required":["contextTokens","outputTokens","toolCalls","attempts"],"additionalProperties":false},"reason":{"type":"string","minLength":1,"maxLength":2000},"recovery":{"type":"string","enum":["resolve_target","connect_website","configure_paid_provider","review_scope","configure_model","configure_pricing"]},"fallback":{"type":"object","properties":{"providerFailover":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1},"effort":{"type":"string","enum":["low","medium","high","xhigh"]}},"required":["provider","model"],"additionalProperties":false}},"qualityEscalation":{"nullable":true,"type":"object","properties":{"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1},"effort":{"type":"string","enum":["low","medium","high","xhigh"]}},"required":["provider","model"],"additionalProperties":false},"maxQualityEscalations":{"anyOf":[{"type":"number","enum":[0]},{"type":"number","enum":[1]}]}},"required":["providerFailover","qualityEscalation","maxQualityEscalations"],"additionalProperties":false}},"required":["executionMode","billingMode","limits","reason","fallback"],"additionalProperties":false},"evidence":{"description":"Observations that motivate the change.","type":"object","properties":{"source":{"type":"string","enum":["search_console","site_audit","support_report","ai_visibility","manual"]},"summary":{"type":"string","minLength":1,"maxLength":2000},"items":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":500},"detail":{"type":"string","minLength":1,"maxLength":1000}},"required":["ref","detail"],"additionalProperties":false}}},"required":["source","summary","items"],"additionalProperties":false},"requestPullRequest":{"description":"Ask for a pull request when the policy is per_change.","type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["connectionId","lane","goal"],"additionalProperties":false},"OperationRepositoriesChangesProposeOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository change id"},"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"lane":{"type":"string","enum":["seo_website","support_remediation","support_verification","support_chat"]},"mode":{"default":"agent","type":"string","enum":["agent","file_writes"]},"goal":{"type":"string"},"requestedPaths":{"type":"array","items":{"type":"string"}},"fileWrites":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":500},"content":{"type":"string"},"createOnly":{"type":"boolean"},"seoEdit":{"default":null,"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]},"before":{"type":"string","minLength":1,"maxLength":8000},"after":{"type":"string","minLength":1,"maxLength":8000},"expectedBaseSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"expectedSource":{"type":"string","minLength":1,"maxLength":65536},"baselineId":{"type":"string","minLength":1,"maxLength":200,"x-moreflow-opaque":{"reason":"Immutable baseline embedded in the SEO action; inspect it through marketing.seo.actions.detail."}},"articleRevisionId":{"type":"string","minLength":1,"maxLength":300},"permissionRevision":{"type":"string","minLength":1,"maxLength":200},"articleId":{"type":"string","minLength":1,"maxLength":200},"approvedRevision":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["kind","before","after","expectedBaseSha","expectedSource","baselineId","articleRevisionId"],"additionalProperties":false},"delete":{"default":null,"nullable":true,"type":"boolean","enum":[true]}},"required":["path","content","createOnly","seoEdit","delete"],"additionalProperties":false}},"executionRoute":{"default":null,"nullable":true,"type":"object","properties":{"executionMode":{"type":"string","enum":["direct_edit","agent","manual"]},"billingMode":{"type":"string","enum":["paid_api"]},"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1,"maxLength":200},"effort":{"type":"string","enum":["low","medium","high","xhigh"]},"limits":{"type":"object","properties":{"contextTokens":{"type":"integer","minimum":0,"maximum":200000},"outputTokens":{"type":"integer","minimum":0,"maximum":64000},"toolCalls":{"type":"integer","minimum":0,"maximum":200},"attempts":{"type":"integer","minimum":0,"maximum":5}},"required":["contextTokens","outputTokens","toolCalls","attempts"],"additionalProperties":false},"reason":{"type":"string","minLength":1,"maxLength":2000},"recovery":{"type":"string","enum":["resolve_target","connect_website","configure_paid_provider","review_scope","configure_model","configure_pricing"]},"fallback":{"type":"object","properties":{"providerFailover":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1},"effort":{"type":"string","enum":["low","medium","high","xhigh"]}},"required":["provider","model"],"additionalProperties":false}},"qualityEscalation":{"nullable":true,"type":"object","properties":{"provider":{"type":"string","enum":["google","anthropic","openai","openrouter"]},"model":{"type":"string","minLength":1},"effort":{"type":"string","enum":["low","medium","high","xhigh"]}},"required":["provider","model"],"additionalProperties":false},"maxQualityEscalations":{"anyOf":[{"type":"number","enum":[0]},{"type":"number","enum":[1]}]}},"required":["providerFailover","qualityEscalation","maxQualityEscalations"],"additionalProperties":false}},"required":["executionMode","billingMode","limits","reason","fallback"],"additionalProperties":false},"evidence":{"nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["search_console","site_audit","support_report","ai_visibility","manual"]},"summary":{"type":"string","minLength":1,"maxLength":2000},"items":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":500},"detail":{"type":"string","minLength":1,"maxLength":1000}},"required":["ref","detail"],"additionalProperties":false}}},"required":["source","summary","items"],"additionalProperties":false},"requestPullRequest":{"type":"boolean"},"requestedByUserId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"requestedByActor":{"type":"string","enum":["user","flow","service"]},"state":{"type":"string","enum":["requested","planning","editing","validating","ready_to_publish","committed","pushed","preview_ready","pull_request_opened","merged","human_required","cancelled"]},"workflowId":{"nullable":true,"type":"string"},"runnerClaimExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"threadId":{"nullable":true,"type":"string"},"approvedPaths":{"type":"array","items":{"type":"string"}},"baselineBranch":{"nullable":true,"type":"string"},"baselineHead":{"nullable":true,"type":"string"},"baselineSnapshotSha256":{"nullable":true,"type":"string"},"branchName":{"nullable":true,"type":"string"},"gatePlan":{"type":"array","items":{"type":"string"}},"baselineGateEvidence":{"type":"array","items":{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":100},"exitCode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"diagnosticSignatures":{"maxItems":2000,"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"stdoutSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"stderrSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"durationMs":{"type":"integer","minimum":0,"maximum":3600000}},"required":["commandId","exitCode","diagnosticSignatures","stdoutSha256","stderrSha256","durationMs"],"additionalProperties":false}},"reviewedDiffSha256":{"nullable":true,"type":"string"},"commitSha":{"nullable":true,"type":"string"},"pushedSha":{"nullable":true,"type":"string"},"preview":{"nullable":true,"type":"object","properties":{"provider":{"type":"string","enum":["vercel","moreflow"]},"deploymentId":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","maxLength":2000,"format":"uri"},"status":{"type":"string","enum":["building","ready","error"]},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["provider","deploymentId","url","status","checkedAt"],"additionalProperties":false},"pullRequest":{"nullable":true,"type":"object","properties":{"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"url":{"type":"string","maxLength":2000,"format":"uri"},"checkStatus":{"type":"string","enum":["pending","passing","failing","unknown"]},"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["number","url","checkStatus","checkedAt"],"additionalProperties":false},"mergeSha":{"default":null,"nullable":true,"type":"string","pattern":"^[a-f0-9]{40,64}$"},"attemptCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failureCode":{"nullable":true,"type":"string","enum":["forbidden_path","scope_expansion","skills_touched","migration_or_schema_change","sensitive_topic_detected","changed_test_missing","path_not_allowlisted","connection_unverified","read_only_connection","baseline_drift","agent_unavailable","agent_output_invalid","gate_failed","focused_test_failed","reviewed_diff_changed","commit_failed","push_rejected","production_branch_target","credential_unavailable","dependencies_unavailable","preview_unavailable","pull_request_failed","attempts_exhausted","lease_expired"]},"failureReason":{"nullable":true,"type":"string"},"humanRequiredReason":{"nullable":true,"type":"string","enum":["merge","failure"]},"summary":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","connectionId","lane","mode","goal","requestedPaths","fileWrites","executionRoute","evidence","requestPullRequest","requestedByUserId","requestedByActor","state","workflowId","runnerClaimExpiresAt","threadId","approvedPaths","baselineBranch","baselineHead","baselineSnapshotSha256","branchName","gatePlan","baselineGateEvidence","reviewedDiffSha256","commitSha","pushedSha","preview","pullRequest","mergeSha","attemptCount","failureCode","failureReason","humanRequiredReason","summary","createdAt","updatedAt"],"additionalProperties":false,"examples":[{"id":"52000000-0000-4000-8000-000000000201","connectionId":"52000000-0000-4000-8000-000000000101","lane":"seo_website","mode":"agent","goal":"Improve the pricing page metadata.","requestedPaths":["app/pricing/page.tsx"],"fileWrites":[],"executionRoute":null,"evidence":null,"requestPullRequest":false,"requestedByUserId":null,"requestedByActor":"user","state":"requested","workflowId":null,"runnerClaimExpiresAt":null,"threadId":null,"approvedPaths":[],"baselineBranch":"main","baselineHead":null,"baselineSnapshotSha256":null,"branchName":null,"gatePlan":[],"baselineGateEvidence":[],"reviewedDiffSha256":null,"commitSha":null,"pushedSha":null,"preview":null,"pullRequest":null,"mergeSha":null,"attemptCount":0,"failureCode":null,"failureReason":null,"humanRequiredReason":null,"summary":null,"createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z"}]},"OperationRepositoriesChangesProposeError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","REPOSITORY_CONNECTION_NOT_FOUND","REPOSITORY_LANE_PURPOSE_MISMATCH","REPOSITORY_CONNECTION_UNVERIFIED","REPOSITORY_READ_ONLY","REPOSITORY_SUPPORT_POLICY_INVALID","REPOSITORY_CHANGE_ACTIVE","REPOSITORY_CHANGE_NOT_FOUND","REPOSITORY_CHANGE_QUOTA_EXCEEDED","TEMPORAL_START_FAILED","SEO_PUBLICATION_AUTHORITY_REQUIRED","SEO_FULL_AUTONOMY_MARKER_FORBIDDEN","SEO_FULL_AUTONOMY_AUTHORITY_REQUIRED","SEO_ARTIFACT_BINDING_INVALID","WEBSITE_TASK_ROUTE_UNAVAILABLE","REPOSITORY_PATH_FORBIDDEN_PATH","REPOSITORY_PATH_SCOPE_EXPANSION","REPOSITORY_PATH_SKILLS_TOUCHED","REPOSITORY_PATH_MIGRATION_OR_SCHEMA_CHANGE","REPOSITORY_PATH_SENSITIVE_TOPIC_DETECTED","REPOSITORY_PATH_CHANGED_TEST_MISSING","REPOSITORY_PATH_PATH_NOT_ALLOWLISTED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationRepositoriesChangesProposeErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeErrorDefinitionSchema0"}}]},"OperationRepositoriesChangesProposeErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeErrorDefinitionSchema1"}}]},"OperationRepositoriesConnectInput":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"Display name for the repository."},"provider":{"type":"string","enum":["github","git"],"description":"Git host. GitHub first; git is a generic clone URL."},"repository":{"type":"string","minLength":1,"maxLength":300,"description":"owner/name for GitHub, otherwise the clone URL."},"cloneUrl":{"description":"Explicit clone URL when it differs from the default.","type":"string","minLength":1,"maxLength":500},"purposes":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["website","app_code","docs"]},"description":"What the repository is for."},"preset":{"description":"Policy preset to start from.","type":"string","enum":["nextjs_website","moreflow_app_code","custom"]},"policy":{"description":"Full policy; overrides the preset when given.","type":"object","properties":{"defaultBaseBranch":{"type":"string","minLength":1,"maxLength":200},"productionBranch":{"type":"string","minLength":1,"maxLength":200},"pushStrategy":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["fixed_branch"]},"branch":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","branch"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["branch_per_change"]},"pattern":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","pattern"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"pullRequestPolicy":{"type":"string","enum":["never","always","per_change"]},"pathPolicy":{"type":"object","properties":{"preset":{"type":"string","enum":["nextjs_website","moreflow_app_code","custom"]},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"forbiddenPaths":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}}},"required":["preset","allowlist","forbiddenPaths"],"additionalProperties":false},"gateCommands":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"command":{"type":"string","enum":["bun","bunx","npm","npx","pnpm","yarn","node","git","make"]},"args":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["id","command","args"],"additionalProperties":false}},"maxPaths":{"type":"integer","minimum":1,"maximum":30},"maxAttempts":{"type":"integer","minimum":1,"maximum":5},"requireRegressionTest":{"type":"boolean"},"preview":{"oneOf":[{"type":"object","properties":{"provider":{"type":"string","enum":["none","moreflow"]}},"required":["provider"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"string","enum":["vercel"]},"projectId":{"type":"string","minLength":1,"maxLength":200},"teamId":{"nullable":true,"type":"string","minLength":1,"maxLength":200}},"required":["provider","projectId"],"additionalProperties":false}]},"autoMerge":{"default":{"enabled":false,"allowlist":["llms.txt","llms-full.txt","public/llms.txt","public/llms-full.txt","public/md/"],"requireChecksPassing":true},"type":"object","properties":{"enabled":{"type":"boolean"},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"requireChecksPassing":{"type":"boolean"},"seoEdits":{"nullable":true,"type":"object","properties":{"revision":{"type":"string","minLength":1,"maxLength":200},"paths":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"kinds":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]}},"maxChangedCharacters":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":16000},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["revision","paths","kinds","maxChangedCharacters","expiresAt"],"additionalProperties":false}},"required":["enabled","allowlist","requireChecksPassing"],"additionalProperties":false}},"required":["defaultBaseBranch","productionBranch","pushStrategy","pullRequestPolicy","pathPolicy","gateCommands","maxPaths","maxAttempts","requireRegressionTest","preview"],"additionalProperties":false},"credential":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["github_app_installation"]},"installationId":{"type":"string","minLength":1,"maxLength":64,"description":"GitHub App installation id that holds access to this repository."}},"required":["kind","installationId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["deploy_key"]},"secretRef":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$"}},"required":["kind","secretRef"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}],"description":"Credential reference. Never a secret."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["name","provider","repository","purposes","credential"],"additionalProperties":false},"OperationRepositoriesConnectOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"name":{"type":"string"},"provider":{"type":"string","enum":["github","git"]},"repository":{"type":"string"},"cloneUrl":{"type":"string"},"purposes":{"type":"array","items":{"type":"string","enum":["website","app_code","docs"]}},"policy":{"type":"object","properties":{"defaultBaseBranch":{"type":"string","minLength":1,"maxLength":200},"productionBranch":{"type":"string","minLength":1,"maxLength":200},"pushStrategy":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["fixed_branch"]},"branch":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","branch"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["branch_per_change"]},"pattern":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","pattern"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"pullRequestPolicy":{"type":"string","enum":["never","always","per_change"]},"pathPolicy":{"type":"object","properties":{"preset":{"type":"string","enum":["nextjs_website","moreflow_app_code","custom"]},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"forbiddenPaths":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}}},"required":["preset","allowlist","forbiddenPaths"],"additionalProperties":false},"gateCommands":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"command":{"type":"string","enum":["bun","bunx","npm","npx","pnpm","yarn","node","git","make"]},"args":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["id","command","args"],"additionalProperties":false}},"maxPaths":{"type":"integer","minimum":1,"maximum":30},"maxAttempts":{"type":"integer","minimum":1,"maximum":5},"requireRegressionTest":{"type":"boolean"},"preview":{"oneOf":[{"type":"object","properties":{"provider":{"type":"string","enum":["none","moreflow"]}},"required":["provider"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"string","enum":["vercel"]},"projectId":{"type":"string","minLength":1,"maxLength":200},"teamId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":200}},"required":["provider","projectId","teamId"],"additionalProperties":false}]},"autoMerge":{"type":"object","properties":{"enabled":{"type":"boolean"},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"requireChecksPassing":{"type":"boolean"},"seoEdits":{"default":null,"nullable":true,"type":"object","properties":{"revision":{"type":"string","minLength":1,"maxLength":200},"paths":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"kinds":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]}},"maxChangedCharacters":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":16000},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["revision","paths","kinds","maxChangedCharacters","expiresAt"],"additionalProperties":false}},"required":["enabled","allowlist","requireChecksPassing","seoEdits"],"additionalProperties":false}},"required":["defaultBaseBranch","productionBranch","pushStrategy","pullRequestPolicy","pathPolicy","gateCommands","maxPaths","maxAttempts","requireRegressionTest","preview","autoMerge"],"additionalProperties":false},"credential":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["github_app_installation"]},"installationId":{"type":"string","minLength":1,"maxLength":64,"description":"GitHub App installation id that holds access to this repository."}},"required":["kind","installationId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["deploy_key"]},"secretRef":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$"}},"required":["kind","secretRef"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"verification":{"type":"object","properties":{"status":{"type":"string","enum":["unverified","verifying","verified","failed"]},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cloneReachable":{"nullable":true,"type":"boolean"},"credentialValid":{"nullable":true,"type":"boolean"},"gatesRunnable":{"nullable":true,"type":"boolean"},"error":{"nullable":true,"type":"string","maxLength":2000}},"required":["status","checkedAt","cloneReachable","credentialValid","gatesRunnable","error"],"additionalProperties":false},"status":{"type":"string","enum":["active","disconnected"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disconnectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"}},"required":["canManage"],"additionalProperties":false}},"required":["id","name","provider","repository","cloneUrl","purposes","policy","credential","verification","status","createdAt","updatedAt","disconnectedAt","capabilities"],"additionalProperties":false,"examples":[{"id":"52000000-0000-4000-8000-000000000101","name":"Website","provider":"github","repository":"acme/site","cloneUrl":"https://github.com/acme/site.git","purposes":["website"],"policy":{"defaultBaseBranch":"main","productionBranch":"main","pushStrategy":{"kind":"branch_per_change","pattern":"flow/{changeId}"},"pullRequestPolicy":"always","maxPaths":12,"maxAttempts":3,"requireRegressionTest":false,"preview":{"provider":"none"},"pathPolicy":{"preset":"nextjs_website","allowlist":["app/","pages/","src/app/","src/pages/","content/","src/content/","components/","src/components/","public/","src/lib/metadata.ts","src/lib/metadata.tsx","*.mdx","*.md"],"forbiddenPaths":["next.config.js","next.config.mjs","next.config.ts","middleware.ts","middleware.js","src/middleware.ts","src/middleware.js","vercel.json","redirects.js","redirects.ts","rewrites.js","rewrites.ts","instrumentation.ts","instrumentation.js"]},"gateCommands":[{"id":"build","command":"bun","args":["run","build"]},{"id":"lint","command":"bun","args":["run","lint"]}],"autoMerge":{"enabled":false,"allowlist":["llms.txt","llms-full.txt","public/llms.txt","public/llms-full.txt","public/md/"],"requireChecksPassing":true,"seoEdits":null}},"credential":{"kind":"none"},"verification":{"status":"unverified","checkedAt":null,"cloneReachable":null,"credentialValid":null,"gatesRunnable":null,"error":null},"status":"active","createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z","disconnectedAt":null,"capabilities":{"canManage":true}}]},"OperationRepositoriesConnectError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","REPOSITORY_IDENTIFIER_INVALID","REPOSITORY_CLONE_URL_INVALID","GITHUB_INSTALLATION_UNKNOWN","REPOSITORY_CONNECTION_LIMIT_REACHED","REPOSITORY_ALREADY_CONNECTED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesConnectErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesConnectErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationRepositoriesConnectErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesConnectErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesConnectErrorDefinitionSchema0"}}]},"OperationRepositoriesConnectErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesConnectErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesConnectErrorDefinitionSchema1"}}]},"OperationRepositoriesDisconnectInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Repository connection identifier associated with the request."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["connectionId"],"additionalProperties":false},"OperationRepositoriesDisconnectOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"name":{"type":"string"},"provider":{"type":"string","enum":["github","git"]},"repository":{"type":"string"},"cloneUrl":{"type":"string"},"purposes":{"type":"array","items":{"type":"string","enum":["website","app_code","docs"]}},"policy":{"type":"object","properties":{"defaultBaseBranch":{"type":"string","minLength":1,"maxLength":200},"productionBranch":{"type":"string","minLength":1,"maxLength":200},"pushStrategy":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["fixed_branch"]},"branch":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","branch"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["branch_per_change"]},"pattern":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","pattern"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"pullRequestPolicy":{"type":"string","enum":["never","always","per_change"]},"pathPolicy":{"type":"object","properties":{"preset":{"type":"string","enum":["nextjs_website","moreflow_app_code","custom"]},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"forbiddenPaths":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}}},"required":["preset","allowlist","forbiddenPaths"],"additionalProperties":false},"gateCommands":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"command":{"type":"string","enum":["bun","bunx","npm","npx","pnpm","yarn","node","git","make"]},"args":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["id","command","args"],"additionalProperties":false}},"maxPaths":{"type":"integer","minimum":1,"maximum":30},"maxAttempts":{"type":"integer","minimum":1,"maximum":5},"requireRegressionTest":{"type":"boolean"},"preview":{"oneOf":[{"type":"object","properties":{"provider":{"type":"string","enum":["none","moreflow"]}},"required":["provider"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"string","enum":["vercel"]},"projectId":{"type":"string","minLength":1,"maxLength":200},"teamId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":200}},"required":["provider","projectId","teamId"],"additionalProperties":false}]},"autoMerge":{"type":"object","properties":{"enabled":{"type":"boolean"},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"requireChecksPassing":{"type":"boolean"},"seoEdits":{"default":null,"nullable":true,"type":"object","properties":{"revision":{"type":"string","minLength":1,"maxLength":200},"paths":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"kinds":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]}},"maxChangedCharacters":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":16000},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["revision","paths","kinds","maxChangedCharacters","expiresAt"],"additionalProperties":false}},"required":["enabled","allowlist","requireChecksPassing","seoEdits"],"additionalProperties":false}},"required":["defaultBaseBranch","productionBranch","pushStrategy","pullRequestPolicy","pathPolicy","gateCommands","maxPaths","maxAttempts","requireRegressionTest","preview","autoMerge"],"additionalProperties":false},"credential":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["github_app_installation"]},"installationId":{"type":"string","minLength":1,"maxLength":64,"description":"GitHub App installation id that holds access to this repository."}},"required":["kind","installationId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["deploy_key"]},"secretRef":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$"}},"required":["kind","secretRef"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"verification":{"type":"object","properties":{"status":{"type":"string","enum":["unverified","verifying","verified","failed"]},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cloneReachable":{"nullable":true,"type":"boolean"},"credentialValid":{"nullable":true,"type":"boolean"},"gatesRunnable":{"nullable":true,"type":"boolean"},"error":{"nullable":true,"type":"string","maxLength":2000}},"required":["status","checkedAt","cloneReachable","credentialValid","gatesRunnable","error"],"additionalProperties":false},"status":{"type":"string","enum":["active","disconnected"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disconnectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","provider","repository","cloneUrl","purposes","policy","credential","verification","status","createdAt","updatedAt","disconnectedAt"],"additionalProperties":false,"examples":[{"id":"52000000-0000-4000-8000-000000000101","name":"Website","provider":"github","repository":"acme/site","cloneUrl":"https://github.com/acme/site.git","purposes":["website"],"policy":{"defaultBaseBranch":"main","productionBranch":"main","pushStrategy":{"kind":"branch_per_change","pattern":"flow/{changeId}"},"pullRequestPolicy":"always","maxPaths":12,"maxAttempts":3,"requireRegressionTest":false,"preview":{"provider":"none"},"pathPolicy":{"preset":"nextjs_website","allowlist":["app/","pages/","src/app/","src/pages/","content/","src/content/","components/","src/components/","public/","src/lib/metadata.ts","src/lib/metadata.tsx","*.mdx","*.md"],"forbiddenPaths":["next.config.js","next.config.mjs","next.config.ts","middleware.ts","middleware.js","src/middleware.ts","src/middleware.js","vercel.json","redirects.js","redirects.ts","rewrites.js","rewrites.ts","instrumentation.ts","instrumentation.js"]},"gateCommands":[{"id":"build","command":"bun","args":["run","build"]},{"id":"lint","command":"bun","args":["run","lint"]}],"autoMerge":{"enabled":false,"allowlist":["llms.txt","llms-full.txt","public/llms.txt","public/llms-full.txt","public/md/"],"requireChecksPassing":true,"seoEdits":null}},"credential":{"kind":"none"},"verification":{"status":"unverified","checkedAt":null,"cloneReachable":null,"credentialValid":null,"gatesRunnable":null,"error":null},"status":"disconnected","createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z","disconnectedAt":"2026-10-13T00:00:00.000Z"}]},"OperationRepositoriesDisconnectError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","REPOSITORY_CONNECTION_NOT_FOUND","REPOSITORY_CHANGE_ACTIVE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationRepositoriesDisconnectErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectErrorDefinitionSchema0"}}]},"OperationRepositoriesDisconnectErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectErrorDefinitionSchema1"}}]},"OperationRepositoriesGetInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Repository connection identifier associated with the request."}},"required":["connectionId"],"additionalProperties":false},"OperationRepositoriesGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"name":{"type":"string"},"provider":{"type":"string","enum":["github","git"]},"repository":{"type":"string"},"cloneUrl":{"type":"string"},"purposes":{"type":"array","items":{"type":"string","enum":["website","app_code","docs"]}},"policy":{"type":"object","properties":{"defaultBaseBranch":{"type":"string","minLength":1,"maxLength":200},"productionBranch":{"type":"string","minLength":1,"maxLength":200},"pushStrategy":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["fixed_branch"]},"branch":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","branch"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["branch_per_change"]},"pattern":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","pattern"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"pullRequestPolicy":{"type":"string","enum":["never","always","per_change"]},"pathPolicy":{"type":"object","properties":{"preset":{"type":"string","enum":["nextjs_website","moreflow_app_code","custom"]},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"forbiddenPaths":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}}},"required":["preset","allowlist","forbiddenPaths"],"additionalProperties":false},"gateCommands":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"command":{"type":"string","enum":["bun","bunx","npm","npx","pnpm","yarn","node","git","make"]},"args":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["id","command","args"],"additionalProperties":false}},"maxPaths":{"type":"integer","minimum":1,"maximum":30},"maxAttempts":{"type":"integer","minimum":1,"maximum":5},"requireRegressionTest":{"type":"boolean"},"preview":{"oneOf":[{"type":"object","properties":{"provider":{"type":"string","enum":["none","moreflow"]}},"required":["provider"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"string","enum":["vercel"]},"projectId":{"type":"string","minLength":1,"maxLength":200},"teamId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":200}},"required":["provider","projectId","teamId"],"additionalProperties":false}]},"autoMerge":{"type":"object","properties":{"enabled":{"type":"boolean"},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"requireChecksPassing":{"type":"boolean"},"seoEdits":{"default":null,"nullable":true,"type":"object","properties":{"revision":{"type":"string","minLength":1,"maxLength":200},"paths":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"kinds":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]}},"maxChangedCharacters":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":16000},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["revision","paths","kinds","maxChangedCharacters","expiresAt"],"additionalProperties":false}},"required":["enabled","allowlist","requireChecksPassing","seoEdits"],"additionalProperties":false}},"required":["defaultBaseBranch","productionBranch","pushStrategy","pullRequestPolicy","pathPolicy","gateCommands","maxPaths","maxAttempts","requireRegressionTest","preview","autoMerge"],"additionalProperties":false},"credential":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["github_app_installation"]},"installationId":{"type":"string","minLength":1,"maxLength":64,"description":"GitHub App installation id that holds access to this repository."}},"required":["kind","installationId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["deploy_key"]},"secretRef":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$"}},"required":["kind","secretRef"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"verification":{"type":"object","properties":{"status":{"type":"string","enum":["unverified","verifying","verified","failed"]},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cloneReachable":{"nullable":true,"type":"boolean"},"credentialValid":{"nullable":true,"type":"boolean"},"gatesRunnable":{"nullable":true,"type":"boolean"},"error":{"nullable":true,"type":"string","maxLength":2000}},"required":["status","checkedAt","cloneReachable","credentialValid","gatesRunnable","error"],"additionalProperties":false},"status":{"type":"string","enum":["active","disconnected"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disconnectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"activeChange":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"state":{"type":"string","enum":["requested","planning","editing","validating","ready_to_publish","committed","pushed","preview_ready","pull_request_opened","merged","human_required","cancelled"]},"lane":{"type":"string","enum":["seo_website","support_remediation","support_verification","support_chat"]},"goal":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","state","lane","goal","createdAt"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"}},"required":["canManage"],"additionalProperties":false}},"required":["id","name","provider","repository","cloneUrl","purposes","policy","credential","verification","status","createdAt","updatedAt","disconnectedAt","activeChange","capabilities"],"additionalProperties":false,"examples":[{"id":"52000000-0000-4000-8000-000000000101","name":"Website","provider":"github","repository":"acme/site","cloneUrl":"https://github.com/acme/site.git","purposes":["website"],"policy":{"defaultBaseBranch":"main","productionBranch":"main","pushStrategy":{"kind":"branch_per_change","pattern":"flow/{changeId}"},"pullRequestPolicy":"always","maxPaths":12,"maxAttempts":3,"requireRegressionTest":false,"preview":{"provider":"none"},"pathPolicy":{"preset":"nextjs_website","allowlist":["app/","pages/","src/app/","src/pages/","content/","src/content/","components/","src/components/","public/","src/lib/metadata.ts","src/lib/metadata.tsx","*.mdx","*.md"],"forbiddenPaths":["next.config.js","next.config.mjs","next.config.ts","middleware.ts","middleware.js","src/middleware.ts","src/middleware.js","vercel.json","redirects.js","redirects.ts","rewrites.js","rewrites.ts","instrumentation.ts","instrumentation.js"]},"gateCommands":[{"id":"build","command":"bun","args":["run","build"]},{"id":"lint","command":"bun","args":["run","lint"]}],"autoMerge":{"enabled":false,"allowlist":["llms.txt","llms-full.txt","public/llms.txt","public/llms-full.txt","public/md/"],"requireChecksPassing":true,"seoEdits":null}},"credential":{"kind":"none"},"verification":{"status":"unverified","checkedAt":null,"cloneReachable":null,"credentialValid":null,"gatesRunnable":null,"error":null},"status":"active","createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z","disconnectedAt":null,"activeChange":null,"capabilities":{"canManage":true}}]},"OperationRepositoriesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","REPOSITORY_CONNECTION_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationRepositoriesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesGetErrorDefinitionSchema0"}}]},"OperationRepositoriesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesGetErrorDefinitionSchema1"}}]},"OperationRepositoriesListInput":{"type":"object","properties":{"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"description":"Number of repositories to return; must be between 1 and 100 and defaults to 25.","type":"integer","minimum":1,"maximum":100},"includeDisconnected":{"description":"Include repositories that were disconnected.","type":"boolean"}},"additionalProperties":false},"OperationRepositoriesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"name":{"type":"string"},"provider":{"type":"string","enum":["github","git"]},"repository":{"type":"string"},"cloneUrl":{"type":"string"},"purposes":{"type":"array","items":{"type":"string","enum":["website","app_code","docs"]}},"policy":{"type":"object","properties":{"defaultBaseBranch":{"type":"string","minLength":1,"maxLength":200},"productionBranch":{"type":"string","minLength":1,"maxLength":200},"pushStrategy":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["fixed_branch"]},"branch":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","branch"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["branch_per_change"]},"pattern":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","pattern"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"pullRequestPolicy":{"type":"string","enum":["never","always","per_change"]},"pathPolicy":{"type":"object","properties":{"preset":{"type":"string","enum":["nextjs_website","moreflow_app_code","custom"]},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"forbiddenPaths":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}}},"required":["preset","allowlist","forbiddenPaths"],"additionalProperties":false},"gateCommands":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"command":{"type":"string","enum":["bun","bunx","npm","npx","pnpm","yarn","node","git","make"]},"args":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["id","command","args"],"additionalProperties":false}},"maxPaths":{"type":"integer","minimum":1,"maximum":30},"maxAttempts":{"type":"integer","minimum":1,"maximum":5},"requireRegressionTest":{"type":"boolean"},"preview":{"oneOf":[{"type":"object","properties":{"provider":{"type":"string","enum":["none","moreflow"]}},"required":["provider"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"string","enum":["vercel"]},"projectId":{"type":"string","minLength":1,"maxLength":200},"teamId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":200}},"required":["provider","projectId","teamId"],"additionalProperties":false}]},"autoMerge":{"type":"object","properties":{"enabled":{"type":"boolean"},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"requireChecksPassing":{"type":"boolean"},"seoEdits":{"default":null,"nullable":true,"type":"object","properties":{"revision":{"type":"string","minLength":1,"maxLength":200},"paths":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"kinds":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]}},"maxChangedCharacters":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":16000},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["revision","paths","kinds","maxChangedCharacters","expiresAt"],"additionalProperties":false}},"required":["enabled","allowlist","requireChecksPassing","seoEdits"],"additionalProperties":false}},"required":["defaultBaseBranch","productionBranch","pushStrategy","pullRequestPolicy","pathPolicy","gateCommands","maxPaths","maxAttempts","requireRegressionTest","preview","autoMerge"],"additionalProperties":false},"credential":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["github_app_installation"]},"installationId":{"type":"string","minLength":1,"maxLength":64,"description":"GitHub App installation id that holds access to this repository."}},"required":["kind","installationId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["deploy_key"]},"secretRef":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$"}},"required":["kind","secretRef"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"verification":{"type":"object","properties":{"status":{"type":"string","enum":["unverified","verifying","verified","failed"]},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cloneReachable":{"nullable":true,"type":"boolean"},"credentialValid":{"nullable":true,"type":"boolean"},"gatesRunnable":{"nullable":true,"type":"boolean"},"error":{"nullable":true,"type":"string","maxLength":2000}},"required":["status","checkedAt","cloneReachable","credentialValid","gatesRunnable","error"],"additionalProperties":false},"status":{"type":"string","enum":["active","disconnected"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disconnectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","provider","repository","cloneUrl","purposes","policy","credential","verification","status","createdAt","updatedAt","disconnectedAt"],"additionalProperties":false,"examples":[{"id":"52000000-0000-4000-8000-000000000101","name":"Website","provider":"github","repository":"acme/site","cloneUrl":"https://github.com/acme/site.git","purposes":["website"],"policy":{"defaultBaseBranch":"main","productionBranch":"main","pushStrategy":{"kind":"branch_per_change","pattern":"flow/{changeId}"},"pullRequestPolicy":"always","maxPaths":12,"maxAttempts":3,"requireRegressionTest":false,"preview":{"provider":"none"},"pathPolicy":{"preset":"nextjs_website","allowlist":["app/","pages/","src/app/","src/pages/","content/","src/content/","components/","src/components/","public/","src/lib/metadata.ts","src/lib/metadata.tsx","*.mdx","*.md"],"forbiddenPaths":["next.config.js","next.config.mjs","next.config.ts","middleware.ts","middleware.js","src/middleware.ts","src/middleware.js","vercel.json","redirects.js","redirects.ts","rewrites.js","rewrites.ts","instrumentation.ts","instrumentation.js"]},"gateCommands":[{"id":"build","command":"bun","args":["run","build"]},{"id":"lint","command":"bun","args":["run","lint"]}],"autoMerge":{"enabled":false,"allowlist":["llms.txt","llms-full.txt","public/llms.txt","public/llms-full.txt","public/md/"],"requireChecksPassing":true,"seoEdits":null}},"credential":{"kind":"none"},"verification":{"status":"unverified","checkedAt":null,"cloneReachable":null,"credentialValid":null,"gatesRunnable":null,"error":null},"status":"active","createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z","disconnectedAt":null}]}},"nextCursor":{"nullable":true,"description":"Opaque cursor for the next page, or null at the end.","type":"string"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"}},"required":["canManage"],"additionalProperties":false},"connectionLimit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items","nextCursor","capabilities","connectionLimit"],"additionalProperties":false,"examples":[{"items":[{"id":"52000000-0000-4000-8000-000000000101","name":"Website","provider":"github","repository":"acme/site","cloneUrl":"https://github.com/acme/site.git","purposes":["website"],"policy":{"defaultBaseBranch":"main","productionBranch":"main","pushStrategy":{"kind":"branch_per_change","pattern":"flow/{changeId}"},"pullRequestPolicy":"always","maxPaths":12,"maxAttempts":3,"requireRegressionTest":false,"preview":{"provider":"none"},"pathPolicy":{"preset":"nextjs_website","allowlist":["app/","pages/","src/app/","src/pages/","content/","src/content/","components/","src/components/","public/","src/lib/metadata.ts","src/lib/metadata.tsx","*.mdx","*.md"],"forbiddenPaths":["next.config.js","next.config.mjs","next.config.ts","middleware.ts","middleware.js","src/middleware.ts","src/middleware.js","vercel.json","redirects.js","redirects.ts","rewrites.js","rewrites.ts","instrumentation.ts","instrumentation.js"]},"gateCommands":[{"id":"build","command":"bun","args":["run","build"]},{"id":"lint","command":"bun","args":["run","lint"]}],"autoMerge":{"enabled":false,"allowlist":["llms.txt","llms-full.txt","public/llms.txt","public/llms-full.txt","public/md/"],"requireChecksPassing":true,"seoEdits":null}},"credential":{"kind":"none"},"verification":{"status":"unverified","checkedAt":null,"cloneReachable":null,"credentialValid":null,"gatesRunnable":null,"error":null},"status":"active","createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z","disconnectedAt":null}],"nextCursor":null,"capabilities":{"canManage":true},"connectionLimit":5}]},"OperationRepositoriesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationRepositoriesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesListErrorDefinitionSchema0"}}]},"OperationRepositoriesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesListErrorDefinitionSchema1"}}]},"OperationRepositoriesUpdateInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Repository connection identifier associated with the request."},"name":{"type":"string","minLength":1,"maxLength":120},"purposes":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["website","app_code","docs"]}},"policy":{"type":"object","properties":{"defaultBaseBranch":{"type":"string","minLength":1,"maxLength":200},"productionBranch":{"type":"string","minLength":1,"maxLength":200},"pushStrategy":{"type":"object","properties":{"kind":{"type":"string","enum":["fixed_branch","branch_per_change","none"]},"branch":{"nullable":true,"type":"string"},"pattern":{"nullable":true,"type":"string"}},"additionalProperties":false},"pullRequestPolicy":{"type":"string","enum":["never","always","per_change"]},"pathPolicy":{"type":"object","properties":{"preset":{"type":"string","enum":["nextjs_website","moreflow_app_code","custom"]},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"forbiddenPaths":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}}},"additionalProperties":false},"gateCommands":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"command":{"type":"string","enum":["bun","bunx","npm","npx","pnpm","yarn","node","git","make"]},"args":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["id","command","args"],"additionalProperties":false}},"maxPaths":{"type":"integer","minimum":1,"maximum":30},"maxAttempts":{"type":"integer","minimum":1,"maximum":5},"requireRegressionTest":{"type":"boolean"},"preview":{"type":"object","properties":{"provider":{"type":"string","enum":["none","vercel","moreflow"]},"projectId":{"nullable":true,"type":"string"},"teamId":{"nullable":true,"type":"string"}},"additionalProperties":false},"autoMerge":{"type":"object","properties":{"enabled":{"type":"boolean"},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"requireChecksPassing":{"type":"boolean"},"seoEdits":{"nullable":true,"type":"object","properties":{"revision":{"type":"string","minLength":1,"maxLength":200},"paths":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"kinds":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]}},"maxChangedCharacters":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":16000},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false},"credential":{"type":"object","properties":{"kind":{"type":"string","enum":["github_app_installation","deploy_key","none"]},"installationId":{"nullable":true,"type":"string"},"secretRef":{"nullable":true,"type":"string"}},"additionalProperties":false},"cloneUrl":{"type":"string","minLength":1,"maxLength":500},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["connectionId"],"additionalProperties":false},"OperationRepositoriesUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"name":{"type":"string"},"provider":{"type":"string","enum":["github","git"]},"repository":{"type":"string"},"cloneUrl":{"type":"string"},"purposes":{"type":"array","items":{"type":"string","enum":["website","app_code","docs"]}},"policy":{"type":"object","properties":{"defaultBaseBranch":{"type":"string","minLength":1,"maxLength":200},"productionBranch":{"type":"string","minLength":1,"maxLength":200},"pushStrategy":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["fixed_branch"]},"branch":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","branch"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["branch_per_change"]},"pattern":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","pattern"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"pullRequestPolicy":{"type":"string","enum":["never","always","per_change"]},"pathPolicy":{"type":"object","properties":{"preset":{"type":"string","enum":["nextjs_website","moreflow_app_code","custom"]},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"forbiddenPaths":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}}},"required":["preset","allowlist","forbiddenPaths"],"additionalProperties":false},"gateCommands":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"command":{"type":"string","enum":["bun","bunx","npm","npx","pnpm","yarn","node","git","make"]},"args":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["id","command","args"],"additionalProperties":false}},"maxPaths":{"type":"integer","minimum":1,"maximum":30},"maxAttempts":{"type":"integer","minimum":1,"maximum":5},"requireRegressionTest":{"type":"boolean"},"preview":{"oneOf":[{"type":"object","properties":{"provider":{"type":"string","enum":["none","moreflow"]}},"required":["provider"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"string","enum":["vercel"]},"projectId":{"type":"string","minLength":1,"maxLength":200},"teamId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":200}},"required":["provider","projectId","teamId"],"additionalProperties":false}]},"autoMerge":{"type":"object","properties":{"enabled":{"type":"boolean"},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"requireChecksPassing":{"type":"boolean"},"seoEdits":{"default":null,"nullable":true,"type":"object","properties":{"revision":{"type":"string","minLength":1,"maxLength":200},"paths":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"kinds":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]}},"maxChangedCharacters":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":16000},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["revision","paths","kinds","maxChangedCharacters","expiresAt"],"additionalProperties":false}},"required":["enabled","allowlist","requireChecksPassing","seoEdits"],"additionalProperties":false}},"required":["defaultBaseBranch","productionBranch","pushStrategy","pullRequestPolicy","pathPolicy","gateCommands","maxPaths","maxAttempts","requireRegressionTest","preview","autoMerge"],"additionalProperties":false},"credential":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["github_app_installation"]},"installationId":{"type":"string","minLength":1,"maxLength":64,"description":"GitHub App installation id that holds access to this repository."}},"required":["kind","installationId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["deploy_key"]},"secretRef":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$"}},"required":["kind","secretRef"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"verification":{"type":"object","properties":{"status":{"type":"string","enum":["unverified","verifying","verified","failed"]},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cloneReachable":{"nullable":true,"type":"boolean"},"credentialValid":{"nullable":true,"type":"boolean"},"gatesRunnable":{"nullable":true,"type":"boolean"},"error":{"nullable":true,"type":"string","maxLength":2000}},"required":["status","checkedAt","cloneReachable","credentialValid","gatesRunnable","error"],"additionalProperties":false},"status":{"type":"string","enum":["active","disconnected"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disconnectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"}},"required":["canManage"],"additionalProperties":false}},"required":["id","name","provider","repository","cloneUrl","purposes","policy","credential","verification","status","createdAt","updatedAt","disconnectedAt","capabilities"],"additionalProperties":false,"examples":[{"id":"52000000-0000-4000-8000-000000000101","name":"Website","provider":"github","repository":"acme/site","cloneUrl":"https://github.com/acme/site.git","purposes":["website"],"policy":{"defaultBaseBranch":"main","productionBranch":"main","pushStrategy":{"kind":"branch_per_change","pattern":"flow/{changeId}"},"pullRequestPolicy":"always","maxPaths":12,"maxAttempts":3,"requireRegressionTest":false,"preview":{"provider":"none"},"pathPolicy":{"preset":"nextjs_website","allowlist":["app/","pages/","src/app/","src/pages/","content/","src/content/","components/","src/components/","public/","src/lib/metadata.ts","src/lib/metadata.tsx","*.mdx","*.md"],"forbiddenPaths":["next.config.js","next.config.mjs","next.config.ts","middleware.ts","middleware.js","src/middleware.ts","src/middleware.js","vercel.json","redirects.js","redirects.ts","rewrites.js","rewrites.ts","instrumentation.ts","instrumentation.js"]},"gateCommands":[{"id":"build","command":"bun","args":["run","build"]},{"id":"lint","command":"bun","args":["run","lint"]}],"autoMerge":{"enabled":false,"allowlist":["llms.txt","llms-full.txt","public/llms.txt","public/llms-full.txt","public/md/"],"requireChecksPassing":true,"seoEdits":null}},"credential":{"kind":"none"},"verification":{"status":"unverified","checkedAt":null,"cloneReachable":null,"credentialValid":null,"gatesRunnable":null,"error":null},"status":"active","createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z","disconnectedAt":null,"capabilities":{"canManage":true}}]},"OperationRepositoriesUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","REPOSITORY_CONNECTION_NOT_FOUND","REPOSITORY_CHANGE_ACTIVE","GITHUB_INSTALLATION_UNKNOWN","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationRepositoriesUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesUpdateErrorDefinitionSchema0"}}]},"OperationRepositoriesUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesUpdateErrorDefinitionSchema1"}}]},"OperationRepositoriesVerifyInput":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Repository connection identifier associated with the request."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["connectionId"],"additionalProperties":false},"OperationRepositoriesVerifyOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"name":{"type":"string"},"provider":{"type":"string","enum":["github","git"]},"repository":{"type":"string"},"cloneUrl":{"type":"string"},"purposes":{"type":"array","items":{"type":"string","enum":["website","app_code","docs"]}},"policy":{"type":"object","properties":{"defaultBaseBranch":{"type":"string","minLength":1,"maxLength":200},"productionBranch":{"type":"string","minLength":1,"maxLength":200},"pushStrategy":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["fixed_branch"]},"branch":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","branch"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["branch_per_change"]},"pattern":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","pattern"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"pullRequestPolicy":{"type":"string","enum":["never","always","per_change"]},"pathPolicy":{"type":"object","properties":{"preset":{"type":"string","enum":["nextjs_website","moreflow_app_code","custom"]},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"forbiddenPaths":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}}},"required":["preset","allowlist","forbiddenPaths"],"additionalProperties":false},"gateCommands":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"command":{"type":"string","enum":["bun","bunx","npm","npx","pnpm","yarn","node","git","make"]},"args":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["id","command","args"],"additionalProperties":false}},"maxPaths":{"type":"integer","minimum":1,"maximum":30},"maxAttempts":{"type":"integer","minimum":1,"maximum":5},"requireRegressionTest":{"type":"boolean"},"preview":{"oneOf":[{"type":"object","properties":{"provider":{"type":"string","enum":["none","moreflow"]}},"required":["provider"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"string","enum":["vercel"]},"projectId":{"type":"string","minLength":1,"maxLength":200},"teamId":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":200}},"required":["provider","projectId","teamId"],"additionalProperties":false}]},"autoMerge":{"type":"object","properties":{"enabled":{"type":"boolean"},"allowlist":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"requireChecksPassing":{"type":"boolean"},"seoEdits":{"default":null,"nullable":true,"type":"object","properties":{"revision":{"type":"string","minLength":1,"maxLength":200},"paths":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"kinds":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["headline","title","content","internal_link","meta_description","faq","json_ld"]}},"maxChangedCharacters":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":16000},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["revision","paths","kinds","maxChangedCharacters","expiresAt"],"additionalProperties":false}},"required":["enabled","allowlist","requireChecksPassing","seoEdits"],"additionalProperties":false}},"required":["defaultBaseBranch","productionBranch","pushStrategy","pullRequestPolicy","pathPolicy","gateCommands","maxPaths","maxAttempts","requireRegressionTest","preview","autoMerge"],"additionalProperties":false},"credential":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["github_app_installation"]},"installationId":{"type":"string","minLength":1,"maxLength":64,"description":"GitHub App installation id that holds access to this repository."}},"required":["kind","installationId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["deploy_key"]},"secretRef":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$"}},"required":["kind","secretRef"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false}]},"verification":{"type":"object","properties":{"status":{"type":"string","enum":["unverified","verifying","verified","failed"]},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"cloneReachable":{"nullable":true,"type":"boolean"},"credentialValid":{"nullable":true,"type":"boolean"},"gatesRunnable":{"nullable":true,"type":"boolean"},"error":{"nullable":true,"type":"string","maxLength":2000}},"required":["status","checkedAt","cloneReachable","credentialValid","gatesRunnable","error"],"additionalProperties":false},"status":{"type":"string","enum":["active","disconnected"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disconnectedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","provider","repository","cloneUrl","purposes","policy","credential","verification","status","createdAt","updatedAt","disconnectedAt"],"additionalProperties":false,"examples":[{"id":"52000000-0000-4000-8000-000000000101","name":"Website","provider":"github","repository":"acme/site","cloneUrl":"https://github.com/acme/site.git","purposes":["website"],"policy":{"defaultBaseBranch":"main","productionBranch":"main","pushStrategy":{"kind":"branch_per_change","pattern":"flow/{changeId}"},"pullRequestPolicy":"always","maxPaths":12,"maxAttempts":3,"requireRegressionTest":false,"preview":{"provider":"none"},"pathPolicy":{"preset":"nextjs_website","allowlist":["app/","pages/","src/app/","src/pages/","content/","src/content/","components/","src/components/","public/","src/lib/metadata.ts","src/lib/metadata.tsx","*.mdx","*.md"],"forbiddenPaths":["next.config.js","next.config.mjs","next.config.ts","middleware.ts","middleware.js","src/middleware.ts","src/middleware.js","vercel.json","redirects.js","redirects.ts","rewrites.js","rewrites.ts","instrumentation.ts","instrumentation.js"]},"gateCommands":[{"id":"build","command":"bun","args":["run","build"]},{"id":"lint","command":"bun","args":["run","lint"]}],"autoMerge":{"enabled":false,"allowlist":["llms.txt","llms-full.txt","public/llms.txt","public/llms-full.txt","public/md/"],"requireChecksPassing":true,"seoEdits":null}},"credential":{"kind":"none"},"verification":{"status":"unverified","checkedAt":null,"cloneReachable":null,"credentialValid":null,"gatesRunnable":null,"error":null},"status":"active","createdAt":"2026-10-13T00:00:00.000Z","updatedAt":"2026-10-13T00:00:00.000Z","disconnectedAt":null}]},"OperationRepositoriesVerifyError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","REPOSITORY_CONNECTION_NOT_FOUND","TEMPORAL_START_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesVerifyErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesVerifyErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationRepositoriesVerifyErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesVerifyErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesVerifyErrorDefinitionSchema0"}}]},"OperationRepositoriesVerifyErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRepositoriesVerifyErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRepositoriesVerifyErrorDefinitionSchema1"}}]},"OperationRevenueJourneyGetInput":{"type":"object","properties":{"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"offerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"OfferId"},"timeZone":{"type":"string","minLength":1},"nowAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["timeZone"]},"OperationRevenueJourneyGetOutput":{"type":"object","properties":{"id":{"type":"string"},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"offerId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"OfferId"},"stage":{"type":"string","enum":["empty","pre_offer","offer_pending","offer_accepted","contract_required","payment_required","paid_finalized","failed_recoverable","stale"]},"reasonCode":{"type":"string","enum":["no_commercial_work","offer_draft","offer_awaiting_response","offer_viewed","offer_accepted","contract_awaiting_signature","contract_email_delivery_failed","contract_sms_delivery_failed","contract_terminal","invoice_terminal","payment_due","payment_processing","payment_requires_action","payment_failed","journey_complete","journey_stale","action_not_permitted"]},"blockers":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["no_commercial_work","offer_draft","offer_awaiting_response","offer_viewed","offer_accepted","contract_awaiting_signature","contract_email_delivery_failed","contract_sms_delivery_failed","contract_terminal","invoice_terminal","payment_due","payment_processing","payment_requires_action","payment_failed","journey_complete","journey_stale","action_not_permitted"]},"source":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["client","offer","contract","invoice","payment"]},"id":{"type":"string"},"status":{"nullable":true,"type":"string"},"href":{"type":"string","format":"starts_with","pattern":"^\\/.*"}},"required":["kind","id","status","href"],"additionalProperties":false},"recovery":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["route"]},"href":{"type":"string","format":"starts_with","pattern":"^\\/.*"}},"required":["kind","href"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["operation"]},"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRevenueJourneyGetOutputDefinitionSchema0"}},"requiredFields":{"nullable":true,"type":"array","items":{"type":"string"}}},"required":["kind","operation","args","requiredFields"],"additionalProperties":false}]}},"required":["code","source","recovery"],"additionalProperties":false}},"evidence":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["client","offer","contract","invoice","payment"]},"id":{"type":"string"},"status":{"nullable":true,"type":"string"},"href":{"type":"string","format":"starts_with","pattern":"^\\/.*"}},"required":["kind","id","status","href"],"additionalProperties":false}},"actions":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["open_offer","open_contract","open_client","continue_payment"]},"reasonCode":{"type":"string","enum":["no_commercial_work","offer_draft","offer_awaiting_response","offer_viewed","offer_accepted","contract_awaiting_signature","contract_email_delivery_failed","contract_sms_delivery_failed","contract_terminal","invoice_terminal","payment_due","payment_processing","payment_requires_action","payment_failed","journey_complete","journey_stale","action_not_permitted"]},"priority":{"type":"integer","minimum":0,"maximum":9007199254740991},"permitted":{"type":"boolean"},"capability":{"type":"string","enum":["commercial.read"]},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["route"]},"href":{"type":"string","format":"starts_with","pattern":"^\\/.*"}},"required":["kind","href"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["operation"]},"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRevenueJourneyGetOutputDefinitionSchema0"}},"requiredFields":{"nullable":true,"type":"array","items":{"type":"string"}}},"required":["kind","operation","args","requiredFields"],"additionalProperties":false}]}},"required":["code","reasonCode","priority","permitted","capability","target"],"additionalProperties":false}},"capabilities":{"type":"object","properties":{"canRead":{"type":"boolean"},"canAct":{"type":"boolean"}},"required":["canRead","canAct"],"additionalProperties":false},"urgency":{"type":"object","properties":{"asOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"timeZone":{"type":"string"},"staleAfterDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"oldestPendingAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["asOfAt","timeZone","staleAfterDays","oldestPendingAt"],"additionalProperties":false},"coverage":{"type":"object","properties":{"asOfAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"sources":{"type":"array","items":{"type":"string","enum":["crm","offers","contracts","invoices","payments"]}},"candidatesEvaluated":{"type":"integer","minimum":0,"maximum":9007199254740991},"candidatesTruncated":{"type":"boolean"}},"required":["asOfAt","sources","candidatesEvaluated","candidatesTruncated"],"additionalProperties":false}},"required":["id","clientId","offerId","stage","reasonCode","blockers","evidence","actions","capabilities","urgency","coverage"],"additionalProperties":false},"OperationRevenueJourneyGetOutputDefinitionSchema0":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRevenueJourneyGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRevenueJourneyGetOutputDefinitionSchema0"}}]},"OperationRevenueJourneyGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRevenueJourneyGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationRevenueJourneyGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationRevenueJourneyGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRevenueJourneyGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRevenueJourneyGetErrorDefinitionSchema0"}}]},"OperationRevenueJourneyGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationRevenueJourneyGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationRevenueJourneyGetErrorDefinitionSchema1"}}]},"OperationSearchRecordsSearchInput":{"type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":200,"description":"Literal case-insensitive search text; at least two characters."},"entityTypes":{"description":"Search only these entity types; omit to search every permitted type.","minItems":1,"maxItems":8,"type":"array","items":{"type":"string","enum":["client","deal","offer","invoice","contract","meeting","note","message"]}},"limitPerGroup":{"default":5,"description":"Maximum hits returned for each entity group.","type":"integer","minimum":1,"maximum":20}},"required":["query"]},"OperationSearchRecordsSearchOutput":{"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"nullable":true,"type":"string"},"matchedField":{"type":"string"},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"entityType":{"type":"string","enum":["client"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"navigationTarget":{"type":"object","properties":{"type":{"type":"string","enum":["client"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"}},"required":["type","id","clientId"],"additionalProperties":false}},"required":["title","subtitle","matchedField","client","entityType","id","navigationTarget"],"additionalProperties":false},{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"nullable":true,"type":"string"},"matchedField":{"type":"string"},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"entityType":{"type":"string","enum":["deal"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CrmDealId"},"navigationTarget":{"type":"object","properties":{"type":{"type":"string","enum":["deal"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CrmDealId"},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"}},"required":["type","id","clientId"],"additionalProperties":false}},"required":["title","subtitle","matchedField","client","entityType","id","navigationTarget"],"additionalProperties":false},{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"nullable":true,"type":"string"},"matchedField":{"type":"string"},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"entityType":{"type":"string","enum":["offer"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"OfferId"},"navigationTarget":{"type":"object","properties":{"type":{"type":"string","enum":["offer"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"OfferId"},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"}},"required":["type","id","clientId"],"additionalProperties":false}},"required":["title","subtitle","matchedField","client","entityType","id","navigationTarget"],"additionalProperties":false},{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"nullable":true,"type":"string"},"matchedField":{"type":"string"},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"entityType":{"type":"string","enum":["invoice"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"InvoiceId"},"navigationTarget":{"type":"object","properties":{"type":{"type":"string","enum":["invoice"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"InvoiceId"},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"}},"required":["type","id","clientId"],"additionalProperties":false}},"required":["title","subtitle","matchedField","client","entityType","id","navigationTarget"],"additionalProperties":false},{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"nullable":true,"type":"string"},"matchedField":{"type":"string"},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"entityType":{"type":"string","enum":["contract"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractId"},"navigationTarget":{"type":"object","properties":{"type":{"type":"string","enum":["contract"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ContractId"},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"}},"required":["type","id","clientId"],"additionalProperties":false}},"required":["title","subtitle","matchedField","client","entityType","id","navigationTarget"],"additionalProperties":false},{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"nullable":true,"type":"string"},"matchedField":{"type":"string"},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"entityType":{"type":"string","enum":["meeting"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"MeetingId"},"navigationTarget":{"type":"object","properties":{"type":{"type":"string","enum":["meeting"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"MeetingId"},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"}},"required":["type","id","clientId"],"additionalProperties":false}},"required":["title","subtitle","matchedField","client","entityType","id","navigationTarget"],"additionalProperties":false},{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"nullable":true,"type":"string"},"matchedField":{"type":"string"},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"entityType":{"type":"string","enum":["note"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientNoteId"},"navigationTarget":{"type":"object","properties":{"type":{"type":"string","enum":["note"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientNoteId"},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"}},"required":["type","id","clientId"],"additionalProperties":false}},"required":["title","subtitle","matchedField","client","entityType","id","navigationTarget"],"additionalProperties":false},{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"nullable":true,"type":"string"},"matchedField":{"type":"string"},"client":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"entityType":{"type":"string","enum":["message"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"navigationTarget":{"type":"object","properties":{"type":{"type":"string","enum":["message"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"CommunicationMessageId"},"clientId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"ClientId"}},"required":["type","id","clientId"],"additionalProperties":false}},"required":["title","subtitle","matchedField","client","entityType","id","navigationTarget"],"additionalProperties":false}]}},"nextCursor":{"nullable":true,"description":"Opaque cursor for the next page, or null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationSearchRecordsSearchError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSearchRecordsSearchErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSearchRecordsSearchErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSearchRecordsSearchErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSearchRecordsSearchErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSearchRecordsSearchErrorDefinitionSchema0"}}]},"OperationSearchRecordsSearchErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSearchRecordsSearchErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSearchRecordsSearchErrorDefinitionSchema1"}}]},"OperationSitesCreateInput":{"type":"object","properties":{"repositoryConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Repository connection with purpose website that holds the site code."},"name":{"description":"Display name; defaults to the connection name.","type":"string","minLength":1,"maxLength":120},"slug":{"description":"Global slug and the default production host <slug>.<platform zone>; derived from the name when omitted. Reserved labels (www, api, fallback, …) and preview-shaped slugs (8 hex characters and a hyphen) fail with VALIDATION_ERROR (reason SITE_SLUG_RESERVED) and a suggested slug.","type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,30}[a-z0-9])?$"},"productionBranch":{"default":"main","description":"Branch whose merges deploy to production.","type":"string","pattern":"^(?!\\/)(?!.*\\.\\.)[A-Za-z0-9._/-]{1,255}$"},"analyticsSiteId":{"description":"Analytics site to link; an id that is not an analytics site of this account fails with NOT_FOUND.","x-moreflow-reference":{"resolver":"analytics.sites.get"},"type":"string","minLength":1,"maxLength":64},"rootDirectory":{"description":"App folder relative to the repository root, for example apps/web (repositories.github.inspect proposes website.buildSettings.rootDirectory). \".\" or null is the repository root and is returned as null. An absolute path, \"..\", a backslash or other characters than letters, digits and . _ @ + - fail with VALIDATION_ERROR (reason SITE_ROOT_DIRECTORY_INVALID) and recovery repositories.github.inspect.","nullable":true,"type":"string","maxLength":400},"installCommand":{"description":"Install command override, run as sh -c in the root directory inside the build sandbox. Null or empty detects it from the lockfile; pass only a command the detected default does not cover. One line without control characters (reason SITE_BUILD_COMMAND_INVALID).","nullable":true,"type":"string","maxLength":1000},"buildCommand":{"description":"Build command override, run as sh -c in the root directory inside the build sandbox. Null or empty runs the build script of the detected package manager. One line without control characters (reason SITE_BUILD_COMMAND_INVALID).","nullable":true,"type":"string","maxLength":1000},"deploy":{"default":true,"description":"Start the first production deployment of the production branch head (it goes live when ready). False only records the site; deploy later with sites.deployments.create.","type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["repositoryConnectionId"],"additionalProperties":false},"OperationSitesCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"name":{"type":"string"},"slug":{"type":"string","description":"Global slug used in worker script names, preview hosts and the default production host."},"repositoryConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"productionBranch":{"type":"string"},"analyticsSiteId":{"nullable":true,"x-moreflow-reference":{"resolver":"analytics.sites.get"},"type":"string"},"currentProductionDeploymentId":{"nullable":true,"x-moreflow-reference":{"resolver":"sites.deployments.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"rootDirectory":{"nullable":true,"description":"App folder relative to the repository root (apps/web), no leading or trailing slash; null is the repository root.","type":"string"},"installCommand":{"nullable":true,"description":"Install command override, run as sh -c in rootDirectory inside the build sandbox; null detects it from the lockfile.","type":"string"},"buildCommand":{"nullable":true,"description":"Build command override, run as sh -c in rootDirectory inside the build sandbox; null runs the build script of the detected package manager.","type":"string"},"productionUrl":{"nullable":true,"description":"Default production URL https://<slug>.<platform zone>, set from site creation on; it serves the live deployment once currentProductionDeploymentId is set. Null when site hosting is not configured.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"}},"required":["canManage"],"additionalProperties":false},"initialDeployment":{"nullable":true,"type":"object","properties":{"deployment":{"nullable":true,"description":"The recorded production deployment of the branch head; it goes live when ready. Null when none was recorded.","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"kind":{"type":"string","enum":["preview","production"]},"status":{"type":"string","enum":["queued","building","uploading","ready","failed","superseded"]},"commitSha":{"type":"string"},"branch":{"type":"string"},"pullRequestNumber":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"scriptName":{"type":"string"},"previewUrl":{"nullable":true,"type":"string"},"error":{"nullable":true,"type":"string"},"live":{"type":"boolean","description":"True when this deployment serves the production domains."},"readyAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"promotedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","kind","status","commitSha","branch","pullRequestNumber","scriptName","previewUrl","error","live","readyAt","promotedAt","createdAt","updatedAt"],"additionalProperties":false},"problem":{"nullable":true,"description":"Why the first deployment did not start, and the operation that starts it; null when it started.","type":"object","properties":{"code":{"type":"string","enum":["SITE_DEPLOY_SOURCE_UNSUPPORTED","SITE_BRANCH_HEAD_UNAVAILABLE","SITE_PRODUCTION_BRANCH_NOT_FOUND","GITHUB_INSTALLATION_NOT_FOUND","SITE_DEPLOYMENT_START_FAILED"]},"message":{"type":"string"},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesCreateOutputDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false}},"required":["code","message","recovery"],"additionalProperties":false}},"required":["deployment","problem"],"additionalProperties":false,"description":"First production deployment started by sites.create; null when deploy was false."}},"required":["id","name","slug","repositoryConnectionId","productionBranch","analyticsSiteId","currentProductionDeploymentId","rootDirectory","installCommand","buildCommand","productionUrl","createdAt","updatedAt","capabilities","initialDeployment"],"additionalProperties":false},"OperationSitesCreateOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesCreateOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesCreateOutputDefinitionSchema0"}}]},"OperationSitesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","REPOSITORY_CONNECTION_NOT_FOUND","SITE_REPOSITORY_PURPOSE_MISMATCH","SITE_ALREADY_EXISTS","SITE_LIMIT_REACHED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesCreateErrorDefinitionSchema0"}}]},"OperationSitesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesCreateErrorDefinitionSchema1"}}]},"OperationSitesDeploymentsCreateInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"commitSha":{"type":"string","pattern":"^[0-9a-f]{7,40}$","description":"Commit to build, as a lower-case hex SHA."},"branch":{"type":"string","pattern":"^(?!\\/)(?!.*\\.\\.)[A-Za-z0-9._/-]{1,255}$","description":"Branch the commit belongs to."},"pullRequestNumber":{"description":"Pull request the preview belongs to.","type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"kind":{"description":"Defaults to production for the production branch without a pull request, otherwise preview.","type":"string","enum":["preview","production"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","commitSha","branch"],"additionalProperties":false},"OperationSitesDeploymentsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"kind":{"type":"string","enum":["preview","production"]},"status":{"type":"string","enum":["queued","building","uploading","ready","failed","superseded"]},"commitSha":{"type":"string"},"branch":{"type":"string"},"pullRequestNumber":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"scriptName":{"type":"string"},"previewUrl":{"nullable":true,"type":"string"},"error":{"nullable":true,"type":"string"},"live":{"type":"boolean","description":"True when this deployment serves the production domains."},"readyAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"promotedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pipelineStarted":{"type":"boolean"}},"required":["id","siteId","kind","status","commitSha","branch","pullRequestNumber","scriptName","previewUrl","error","live","readyAt","promotedAt","createdAt","updatedAt","pipelineStarted"],"additionalProperties":false},"OperationSitesDeploymentsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesDeploymentsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateErrorDefinitionSchema0"}}]},"OperationSitesDeploymentsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateErrorDefinitionSchema1"}}]},"OperationSitesDeploymentsGetInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"deploymentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"}},"required":["siteId","deploymentId"],"additionalProperties":false},"OperationSitesDeploymentsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"kind":{"type":"string","enum":["preview","production"]},"status":{"type":"string","enum":["queued","building","uploading","ready","failed","superseded"]},"commitSha":{"type":"string"},"branch":{"type":"string"},"pullRequestNumber":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"scriptName":{"type":"string"},"previewUrl":{"nullable":true,"type":"string"},"error":{"nullable":true,"type":"string"},"live":{"type":"boolean","description":"True when this deployment serves the production domains."},"readyAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"promotedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","kind","status","commitSha","branch","pullRequestNumber","scriptName","previewUrl","error","live","readyAt","promotedAt","createdAt","updatedAt"],"additionalProperties":false},"OperationSitesDeploymentsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","SITE_DEPLOYMENT_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesDeploymentsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetErrorDefinitionSchema0"}}]},"OperationSitesDeploymentsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetErrorDefinitionSchema1"}}]},"OperationSitesDeploymentsListInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"kind":{"type":"string","enum":["preview","production"]}},"required":["siteId"],"additionalProperties":false},"OperationSitesDeploymentsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"kind":{"type":"string","enum":["preview","production"]},"status":{"type":"string","enum":["queued","building","uploading","ready","failed","superseded"]},"commitSha":{"type":"string"},"branch":{"type":"string"},"pullRequestNumber":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"scriptName":{"type":"string"},"previewUrl":{"nullable":true,"type":"string"},"error":{"nullable":true,"type":"string"},"live":{"type":"boolean","description":"True when this deployment serves the production domains."},"readyAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"promotedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","kind","status","commitSha","branch","pullRequestNumber","scriptName","previewUrl","error","live","readyAt","promotedAt","createdAt","updatedAt"],"additionalProperties":false}}},"required":["items"],"additionalProperties":false},"OperationSitesDeploymentsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesDeploymentsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsListErrorDefinitionSchema0"}}]},"OperationSitesDeploymentsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsListErrorDefinitionSchema1"}}]},"OperationSitesDeploymentsLogsListInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"deploymentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id","x-moreflow-reference":{"resolver":"sites.deployments.list"}},"after":{"default":0,"description":"Return entries after this sequence; pass the previous nextCursor.","type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"default":500,"type":"integer","minimum":1,"maximum":1000}},"required":["siteId","deploymentId"],"additionalProperties":false},"OperationSitesDeploymentsLogsListOutput":{"type":"object","properties":{"entries":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991,"description":"Position of the entry in the deployment log, starting at 1."},"kind":{"type":"string","enum":["step"]},"step":{"type":"string","enum":["clone","install","configure","build","upload"],"description":"Pipeline step: clone, install, configure, build, upload."},"state":{"type":"string","enum":["started","succeeded","failed"]},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["sequence","kind","step","state","occurredAt"],"additionalProperties":false,"description":"A pipeline step started, succeeded or failed."},{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991,"description":"Position of the entry in the deployment log, starting at 1."},"kind":{"type":"string","enum":["output"]},"step":{"type":"string","enum":["clone","install","configure","build","upload"],"description":"Pipeline step: clone, install, configure, build, upload."},"text":{"type":"string","maxLength":20000},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["sequence","kind","step","text","occurredAt"],"additionalProperties":false,"description":"Lines of command output of a step, without escape sequences or credentials."}]}},"nextCursor":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Sequence of the last returned entry (or the input cursor); pass it as `after`."},"hasMore":{"type":"boolean","description":"More entries are already stored after this page."},"finished":{"type":"boolean","description":"The deployment is ready, failed or superseded: no further entries arrive."},"status":{"type":"string","enum":["queued","building","uploading","ready","failed","superseded"]}},"required":["entries","nextCursor","hasMore","finished","status"],"additionalProperties":false},"OperationSitesDeploymentsLogsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","SITE_DEPLOYMENT_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesDeploymentsLogsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListErrorDefinitionSchema0"}}]},"OperationSitesDeploymentsLogsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListErrorDefinitionSchema1"}}]},"OperationSitesDeploymentsPublishInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"deploymentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","deploymentId"],"additionalProperties":false},"OperationSitesDeploymentsPublishOutput":{"type":"object","properties":{"site":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"name":{"type":"string"},"slug":{"type":"string","description":"Global slug used in worker script names, preview hosts and the default production host."},"repositoryConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"productionBranch":{"type":"string"},"analyticsSiteId":{"nullable":true,"x-moreflow-reference":{"resolver":"analytics.sites.get"},"type":"string"},"currentProductionDeploymentId":{"nullable":true,"x-moreflow-reference":{"resolver":"sites.deployments.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"rootDirectory":{"nullable":true,"description":"App folder relative to the repository root (apps/web), no leading or trailing slash; null is the repository root.","type":"string"},"installCommand":{"nullable":true,"description":"Install command override, run as sh -c in rootDirectory inside the build sandbox; null detects it from the lockfile.","type":"string"},"buildCommand":{"nullable":true,"description":"Build command override, run as sh -c in rootDirectory inside the build sandbox; null runs the build script of the detected package manager.","type":"string"},"productionUrl":{"nullable":true,"description":"Default production URL https://<slug>.<platform zone>, set from site creation on; it serves the live deployment once currentProductionDeploymentId is set. Null when site hosting is not configured.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","slug","repositoryConnectionId","productionBranch","analyticsSiteId","currentProductionDeploymentId","rootDirectory","installCommand","buildCommand","productionUrl","createdAt","updatedAt"],"additionalProperties":false},"deployment":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"kind":{"type":"string","enum":["preview","production"]},"status":{"type":"string","enum":["queued","building","uploading","ready","failed","superseded"]},"commitSha":{"type":"string"},"branch":{"type":"string"},"pullRequestNumber":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"scriptName":{"type":"string"},"previewUrl":{"nullable":true,"type":"string"},"error":{"nullable":true,"type":"string"},"live":{"type":"boolean","description":"True when this deployment serves the production domains."},"readyAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"promotedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","kind","status","commitSha","branch","pullRequestNumber","scriptName","previewUrl","error","live","readyAt","promotedAt","createdAt","updatedAt"],"additionalProperties":false}},"required":["site","deployment"],"additionalProperties":false},"OperationSitesDeploymentsPublishError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","SITE_DEPLOYMENT_NOT_FOUND","SITE_DEPLOYMENT_NOT_READY","SITE_HOSTING_NOT_CONFIGURED","SITE_HOSTING_PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesDeploymentsPublishErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishErrorDefinitionSchema0"}}]},"OperationSitesDeploymentsPublishErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishErrorDefinitionSchema1"}}]},"OperationSitesDeploymentsRestoreInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"deploymentId":{"description":"Earlier deployment to return to; defaults to the previously live one.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId"],"additionalProperties":false},"OperationSitesDeploymentsRestoreOutput":{"type":"object","properties":{"site":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"name":{"type":"string"},"slug":{"type":"string","description":"Global slug used in worker script names, preview hosts and the default production host."},"repositoryConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"productionBranch":{"type":"string"},"analyticsSiteId":{"nullable":true,"x-moreflow-reference":{"resolver":"analytics.sites.get"},"type":"string"},"currentProductionDeploymentId":{"nullable":true,"x-moreflow-reference":{"resolver":"sites.deployments.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"rootDirectory":{"nullable":true,"description":"App folder relative to the repository root (apps/web), no leading or trailing slash; null is the repository root.","type":"string"},"installCommand":{"nullable":true,"description":"Install command override, run as sh -c in rootDirectory inside the build sandbox; null detects it from the lockfile.","type":"string"},"buildCommand":{"nullable":true,"description":"Build command override, run as sh -c in rootDirectory inside the build sandbox; null runs the build script of the detected package manager.","type":"string"},"productionUrl":{"nullable":true,"description":"Default production URL https://<slug>.<platform zone>, set from site creation on; it serves the live deployment once currentProductionDeploymentId is set. Null when site hosting is not configured.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","slug","repositoryConnectionId","productionBranch","analyticsSiteId","currentProductionDeploymentId","rootDirectory","installCommand","buildCommand","productionUrl","createdAt","updatedAt"],"additionalProperties":false},"deployment":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"kind":{"type":"string","enum":["preview","production"]},"status":{"type":"string","enum":["queued","building","uploading","ready","failed","superseded"]},"commitSha":{"type":"string"},"branch":{"type":"string"},"pullRequestNumber":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"scriptName":{"type":"string"},"previewUrl":{"nullable":true,"type":"string"},"error":{"nullable":true,"type":"string"},"live":{"type":"boolean","description":"True when this deployment serves the production domains."},"readyAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"promotedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","kind","status","commitSha","branch","pullRequestNumber","scriptName","previewUrl","error","live","readyAt","promotedAt","createdAt","updatedAt"],"additionalProperties":false}},"required":["site","deployment"],"additionalProperties":false},"OperationSitesDeploymentsRestoreError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","SITE_DEPLOYMENT_NOT_FOUND","SITE_DEPLOYMENT_NOT_READY","SITE_HOSTING_NOT_CONFIGURED","SITE_HOSTING_PROVIDER_ERROR","SITE_ROLLBACK_TARGET_MISSING"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesDeploymentsRestoreErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreErrorDefinitionSchema0"}}]},"OperationSitesDeploymentsRestoreErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreErrorDefinitionSchema1"}}]},"OperationSitesDomainsCreateInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"hostname":{"type":"string","minLength":3,"maxLength":253,"description":"Primary hostname: root domain (example.de), www (www.example.de) or another subdomain (shop.example.de)."},"mode":{"description":"managed_zone uses the zone in moreflow DNS (default for root domains and for subdomains of a zone this account manages); custom_hostname uses a CNAME at the customer's DNS (default for other subdomains).","type":"string","enum":["managed_zone","custom_hostname"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","hostname"],"additionalProperties":false},"OperationSitesDomainsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site domain id","x-moreflow-reference":{"resolver":"sites.domains.list"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"hostname":{"type":"string","description":"Primary hostname: serves the site. Switch it with its root/www counterpart via sites.domains.update."},"mode":{"type":"string","enum":["managed_zone","custom_hostname"]},"status":{"type":"string","enum":["pending_dns","pending_certificate","active","failed"],"description":"pending_dns and pending_certificate: poll sites.domains.verify until active."},"redirectHostnames":{"type":"array","items":{"type":"string"},"description":"Hostnames that answer 308 to the primary hostname (its root/www counterpart)."},"dnsRecords":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["CNAME","TXT"]},"name":{"type":"string"},"value":{"type":"string"},"purpose":{"type":"string","enum":["routing","ownership","certificate"]}},"required":["type","name","value","purpose"],"additionalProperties":false},"description":"Exact DNS records the domain owner must create at their DNS (routing CNAME, ownership and certificate TXT); empty for managed zones."},"errors":{"type":"array","items":{"type":"string"}},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","hostname","mode","status","redirectHostnames","dnsRecords","errors","checkedAt","createdAt","updatedAt"],"additionalProperties":false},"OperationSitesDomainsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","SITE_DOMAIN_INVALID","SITE_DOMAIN_USE_APEX","SITE_DOMAIN_MODE_INVALID","SITE_DOMAIN_TAKEN","SITE_DOMAIN_LIMIT_REACHED","SITE_DOMAIN_ZONE_NOT_FOUND","SITE_DOMAIN_ZONE_NOT_ACTIVE","SITE_HOSTING_NOT_CONFIGURED","SITE_HOSTING_PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesDomainsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDomainsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsCreateErrorDefinitionSchema0"}}]},"OperationSitesDomainsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDomainsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsCreateErrorDefinitionSchema1"}}]},"OperationSitesDomainsDeleteInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"domainId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site domain id","x-moreflow-reference":{"resolver":"sites.domains.list"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","domainId"],"additionalProperties":false},"OperationSitesDomainsDeleteOutput":{"type":"object","properties":{"domainId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site domain id","x-moreflow-reference":{"resolver":"sites.domains.list"}},"hostname":{"type":"string"},"removed":{"type":"boolean","enum":[true]}},"required":["domainId","hostname","removed"],"additionalProperties":false},"OperationSitesDomainsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","SITE_DOMAIN_NOT_FOUND","SITE_HOSTING_NOT_CONFIGURED","SITE_HOSTING_PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesDomainsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteErrorDefinitionSchema0"}}]},"OperationSitesDomainsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteErrorDefinitionSchema1"}}]},"OperationSitesDomainsListInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."}},"required":["siteId"],"additionalProperties":false},"OperationSitesDomainsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site domain id","x-moreflow-reference":{"resolver":"sites.domains.list"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"hostname":{"type":"string","description":"Primary hostname: serves the site. Switch it with its root/www counterpart via sites.domains.update."},"mode":{"type":"string","enum":["managed_zone","custom_hostname"]},"status":{"type":"string","enum":["pending_dns","pending_certificate","active","failed"],"description":"pending_dns and pending_certificate: poll sites.domains.verify until active."},"redirectHostnames":{"type":"array","items":{"type":"string"},"description":"Hostnames that answer 308 to the primary hostname (its root/www counterpart)."},"dnsRecords":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["CNAME","TXT"]},"name":{"type":"string"},"value":{"type":"string"},"purpose":{"type":"string","enum":["routing","ownership","certificate"]}},"required":["type","name","value","purpose"],"additionalProperties":false},"description":"Exact DNS records the domain owner must create at their DNS (routing CNAME, ownership and certificate TXT); empty for managed zones."},"errors":{"type":"array","items":{"type":"string"}},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","hostname","mode","status","redirectHostnames","dnsRecords","errors","checkedAt","createdAt","updatedAt"],"additionalProperties":false}},"domainLimit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items","domainLimit"],"additionalProperties":false},"OperationSitesDomainsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesDomainsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDomainsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsListErrorDefinitionSchema0"}}]},"OperationSitesDomainsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDomainsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsListErrorDefinitionSchema1"}}]},"OperationSitesDomainsUpdateInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"domainId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site domain id","x-moreflow-reference":{"resolver":"sites.domains.list"}},"primaryHostname":{"type":"string","minLength":3,"maxLength":253,"description":"Hostname that serves the site: the domain's hostname or one of its redirectHostnames (root or www). The other answers 308 to it."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","domainId","primaryHostname"],"additionalProperties":false},"OperationSitesDomainsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site domain id","x-moreflow-reference":{"resolver":"sites.domains.list"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"hostname":{"type":"string","description":"Primary hostname: serves the site. Switch it with its root/www counterpart via sites.domains.update."},"mode":{"type":"string","enum":["managed_zone","custom_hostname"]},"status":{"type":"string","enum":["pending_dns","pending_certificate","active","failed"],"description":"pending_dns and pending_certificate: poll sites.domains.verify until active."},"redirectHostnames":{"type":"array","items":{"type":"string"},"description":"Hostnames that answer 308 to the primary hostname (its root/www counterpart)."},"dnsRecords":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["CNAME","TXT"]},"name":{"type":"string"},"value":{"type":"string"},"purpose":{"type":"string","enum":["routing","ownership","certificate"]}},"required":["type","name","value","purpose"],"additionalProperties":false},"description":"Exact DNS records the domain owner must create at their DNS (routing CNAME, ownership and certificate TXT); empty for managed zones."},"errors":{"type":"array","items":{"type":"string"}},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","hostname","mode","status","redirectHostnames","dnsRecords","errors","checkedAt","createdAt","updatedAt"],"additionalProperties":false},"OperationSitesDomainsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","SITE_DOMAIN_NOT_FOUND","SITE_DOMAIN_PRIMARY_INVALID","SITE_DOMAIN_NOT_VERIFIED","SITE_HOSTING_NOT_CONFIGURED","SITE_HOSTING_PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesDomainsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateErrorDefinitionSchema0"}}]},"OperationSitesDomainsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateErrorDefinitionSchema1"}}]},"OperationSitesDomainsVerifyInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"domainId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site domain id","x-moreflow-reference":{"resolver":"sites.domains.list"}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","domainId"],"additionalProperties":false},"OperationSitesDomainsVerifyOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site domain id","x-moreflow-reference":{"resolver":"sites.domains.list"}},"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"hostname":{"type":"string","description":"Primary hostname: serves the site. Switch it with its root/www counterpart via sites.domains.update."},"mode":{"type":"string","enum":["managed_zone","custom_hostname"]},"status":{"type":"string","enum":["pending_dns","pending_certificate","active","failed"],"description":"pending_dns and pending_certificate: poll sites.domains.verify until active."},"redirectHostnames":{"type":"array","items":{"type":"string"},"description":"Hostnames that answer 308 to the primary hostname (its root/www counterpart)."},"dnsRecords":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["CNAME","TXT"]},"name":{"type":"string"},"value":{"type":"string"},"purpose":{"type":"string","enum":["routing","ownership","certificate"]}},"required":["type","name","value","purpose"],"additionalProperties":false},"description":"Exact DNS records the domain owner must create at their DNS (routing CNAME, ownership and certificate TXT); empty for managed zones."},"errors":{"type":"array","items":{"type":"string"}},"checkedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","siteId","hostname","mode","status","redirectHostnames","dnsRecords","errors","checkedAt","createdAt","updatedAt"],"additionalProperties":false},"OperationSitesDomainsVerifyError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","SITE_DOMAIN_NOT_FOUND","SITE_HOSTING_NOT_CONFIGURED","SITE_HOSTING_PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesDomainsVerifyErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyErrorDefinitionSchema0"}}]},"OperationSitesDomainsVerifyErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyErrorDefinitionSchema1"}}]},"OperationSitesGetInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."}},"required":["siteId"],"additionalProperties":false},"OperationSitesGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"name":{"type":"string"},"slug":{"type":"string","description":"Global slug used in worker script names, preview hosts and the default production host."},"repositoryConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"productionBranch":{"type":"string"},"analyticsSiteId":{"nullable":true,"x-moreflow-reference":{"resolver":"analytics.sites.get"},"type":"string"},"currentProductionDeploymentId":{"nullable":true,"x-moreflow-reference":{"resolver":"sites.deployments.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"rootDirectory":{"nullable":true,"description":"App folder relative to the repository root (apps/web), no leading or trailing slash; null is the repository root.","type":"string"},"installCommand":{"nullable":true,"description":"Install command override, run as sh -c in rootDirectory inside the build sandbox; null detects it from the lockfile.","type":"string"},"buildCommand":{"nullable":true,"description":"Build command override, run as sh -c in rootDirectory inside the build sandbox; null runs the build script of the detected package manager.","type":"string"},"productionUrl":{"nullable":true,"description":"Default production URL https://<slug>.<platform zone>, set from site creation on; it serves the live deployment once currentProductionDeploymentId is set. Null when site hosting is not configured.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"}},"required":["canManage"],"additionalProperties":false}},"required":["id","name","slug","repositoryConnectionId","productionBranch","analyticsSiteId","currentProductionDeploymentId","rootDirectory","installCommand","buildCommand","productionUrl","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationSitesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesGetErrorDefinitionSchema0"}}]},"OperationSitesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesGetErrorDefinitionSchema1"}}]},"OperationSitesListInput":{"type":"object","properties":{},"additionalProperties":false},"OperationSitesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"name":{"type":"string"},"slug":{"type":"string","description":"Global slug used in worker script names, preview hosts and the default production host."},"repositoryConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"productionBranch":{"type":"string"},"analyticsSiteId":{"nullable":true,"x-moreflow-reference":{"resolver":"analytics.sites.get"},"type":"string"},"currentProductionDeploymentId":{"nullable":true,"x-moreflow-reference":{"resolver":"sites.deployments.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"rootDirectory":{"nullable":true,"description":"App folder relative to the repository root (apps/web), no leading or trailing slash; null is the repository root.","type":"string"},"installCommand":{"nullable":true,"description":"Install command override, run as sh -c in rootDirectory inside the build sandbox; null detects it from the lockfile.","type":"string"},"buildCommand":{"nullable":true,"description":"Build command override, run as sh -c in rootDirectory inside the build sandbox; null runs the build script of the detected package manager.","type":"string"},"productionUrl":{"nullable":true,"description":"Default production URL https://<slug>.<platform zone>, set from site creation on; it serves the live deployment once currentProductionDeploymentId is set. Null when site hosting is not configured.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","slug","repositoryConnectionId","productionBranch","analyticsSiteId","currentProductionDeploymentId","rootDirectory","installCommand","buildCommand","productionUrl","createdAt","updatedAt"],"additionalProperties":false}},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"}},"required":["canManage"],"additionalProperties":false},"siteLimit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items","capabilities","siteLimit"],"additionalProperties":false},"OperationSitesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesListErrorDefinitionSchema0"}}]},"OperationSitesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesListErrorDefinitionSchema1"}}]},"OperationSitesParityRunInput":{"type":"object","properties":{"siteId":{"description":"When given, the candidate must be the preview URL of one of this site’s deployments.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"referenceOrigin":{"type":"string","maxLength":2048,"format":"uri","description":"The live site, for example https://mpu-west.nrw."},"candidateOrigin":{"type":"string","maxLength":2048,"format":"uri","description":"The preview to compare, for example a deployment previewUrl."},"urls":{"description":"Paths or absolute URLs on the reference origin. Defaults to every URL in the reference sitemap.","maxItems":500,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}},"sitemapUrl":{"description":"Reference sitemap; defaults to <referenceOrigin>/sitemap.xml.","type":"string","maxLength":2048,"format":"uri"},"redirects":{"description":"301 map: the candidate must answer 301 or 308 from each `from` path to `to` (path or URL on the reference origin).","maxItems":500,"type":"array","items":{"type":"object","properties":{"from":{"type":"string","minLength":1,"maxLength":2048},"to":{"type":"string","minLength":1,"maxLength":2048}},"required":["from","to"],"additionalProperties":false}},"offset":{"description":"Start of the URL window; use nextOffset from the previous run.","type":"integer","minimum":0,"maximum":500},"limit":{"description":"URLs per run, default 50.","type":"integer","minimum":1,"maximum":500}},"required":["referenceOrigin","candidateOrigin"],"additionalProperties":false},"OperationSitesParityRunOutput":{"type":"object","properties":{"referenceOrigin":{"type":"string"},"candidateOrigin":{"type":"string"},"sitemapUrl":{"nullable":true,"type":"string"},"verdict":{"type":"string","enum":["pass","fail","partial"],"description":"partial: no difference so far, but nextOffset has URLs left."},"summary":{"type":"object","properties":{"urlsTotal":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"urlsChecked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"passed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"errored":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"redirectsChecked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"redirectsFailed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"deadlineReached":{"type":"boolean"}},"required":["urlsTotal","urlsChecked","passed","failed","errored","redirectsChecked","redirectsFailed","deadlineReached"],"additionalProperties":false},"nextOffset":{"nullable":true,"description":"Call again with this offset to check the next window; null at the end.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"urls":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"referenceUrl":{"type":"string"},"candidateUrl":{"type":"string"},"inSitemap":{"type":"boolean"},"verdict":{"type":"string","enum":["pass","fail","error"]},"checks":{"type":"array","items":{"type":"object","properties":{"check":{"type":"string","description":"status, location, x-robots-tag, lang, title, meta:<name>, canonical, hreflang, json-ld, headings or body-text-length."},"pass":{"type":"boolean"},"reference":{"nullable":true,"description":"JSON-encoded reference value; null when absent.","type":"string"},"candidate":{"nullable":true,"description":"JSON-encoded candidate value with the candidate origin replaced by the reference origin.","type":"string"}},"required":["check","pass","reference","candidate"],"additionalProperties":false}},"error":{"nullable":true,"type":"string"}},"required":["path","referenceUrl","candidateUrl","inSitemap","verdict","checks","error"],"additionalProperties":false}},"redirects":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string"},"expected":{"type":"string"},"pass":{"type":"boolean"},"status":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"location":{"nullable":true,"type":"string"},"error":{"nullable":true,"type":"string"}},"required":["from","expected","pass","status","location","error"],"additionalProperties":false}},"sitemap":{"nullable":true,"description":"Compared in the run with offset 0 only.","type":"object","properties":{"pass":{"type":"boolean"},"referenceStatus":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"candidateStatus":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"missingInCandidate":{"type":"array","items":{"type":"string"}},"extraInCandidate":{"type":"array","items":{"type":"string"}},"textIdentical":{"type":"boolean"}},"required":["pass","referenceStatus","candidateStatus","missingInCandidate","extraInCandidate","textIdentical"],"additionalProperties":false},"robotsTxt":{"nullable":true,"description":"Compared in the run with offset 0 only.","type":"object","properties":{"pass":{"type":"boolean"},"referenceStatus":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"candidateStatus":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reference":{"nullable":true,"type":"string"},"candidate":{"nullable":true,"type":"string"}},"required":["pass","referenceStatus","candidateStatus","reference","candidate"],"additionalProperties":false}},"required":["referenceOrigin","candidateOrigin","sitemapUrl","verdict","summary","nextOffset","urls","redirects","sitemap","robotsTxt"],"additionalProperties":false},"OperationSitesParityRunError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","FORBIDDEN","SITE_PARITY_CANDIDATE_NOT_PREVIEW","SITE_PARITY_SAME_ORIGIN","SITE_PARITY_SITEMAP_UNAVAILABLE","SITE_PARITY_NO_URLS","SITE_PARITY_NOT_CONFIGURED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesParityRunErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesParityRunErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesParityRunErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesParityRunErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesParityRunErrorDefinitionSchema0"}}]},"OperationSitesParityRunErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesParityRunErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesParityRunErrorDefinitionSchema1"}}]},"OperationSitesParityVisualRunInput":{"type":"object","properties":{"siteId":{"description":"When given, the candidate must be the preview URL of one of this site’s deployments.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"referenceOrigin":{"type":"string","maxLength":2048,"format":"uri","description":"The live site, for example https://mpu-west.nrw."},"candidateOrigin":{"type":"string","maxLength":2048,"format":"uri","description":"The preview to compare, for example a deployment previewUrl."},"urls":{"description":"Paths or absolute URLs on the reference origin. Defaults to every URL in the reference sitemap.","maxItems":500,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}},"sitemapUrl":{"description":"Reference sitemap; defaults to <referenceOrigin>/sitemap.xml.","type":"string","maxLength":2048,"format":"uri"},"offset":{"description":"Start of the URL window; use nextOffset from the previous run.","type":"integer","minimum":0,"maximum":500},"limit":{"description":"URLs per run, default 5. Each URL takes four screenshots.","type":"integer","minimum":1,"maximum":25},"viewports":{"description":"Default both: desktop 1440×900, mobile 390×844.","minItems":1,"maxItems":2,"type":"array","items":{"type":"string","enum":["desktop","mobile"]}},"threshold":{"description":"Largest difference ratio that still passes, default 0.01.","type":"number","minimum":0,"maximum":1},"channelTolerance":{"description":"A pixel differs when a colour channel differs by more than this, default 16 (absorbs anti-aliasing).","type":"integer","minimum":0,"maximum":255},"maskSelectors":{"description":"CSS selectors painted over on both sides before comparing: carousels, dates, cookie banners.","maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["referenceOrigin","candidateOrigin"],"additionalProperties":false},"OperationSitesParityVisualRunOutput":{"type":"object","properties":{"referenceOrigin":{"type":"string"},"candidateOrigin":{"type":"string"},"sitemapUrl":{"nullable":true,"type":"string"},"verdict":{"type":"string","enum":["pass","fail","partial"],"description":"partial: no difference so far, but nextOffset has URLs left."},"threshold":{"type":"number"},"channelTolerance":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"viewports":{"type":"array","items":{"type":"string","enum":["desktop","mobile"]}},"summary":{"type":"object","properties":{"urlsTotal":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"urlsChecked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"passed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"errored":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"deadlineReached":{"type":"boolean"},"maxDifferenceRatio":{"nullable":true,"type":"number","minimum":0,"maximum":1}},"required":["urlsTotal","urlsChecked","passed","failed","errored","deadlineReached","maxDifferenceRatio"],"additionalProperties":false},"nextOffset":{"nullable":true,"description":"Call again with this offset to check the next window; null at the end.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"urls":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"referenceUrl":{"type":"string"},"candidateUrl":{"type":"string"},"inSitemap":{"type":"boolean"},"verdict":{"type":"string","enum":["pass","fail","error"]},"maxDifferenceRatio":{"nullable":true,"type":"number","minimum":0,"maximum":1},"viewports":{"type":"array","items":{"type":"object","properties":{"viewport":{"type":"string","enum":["desktop","mobile"]},"viewportWidth":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pass":{"type":"boolean","description":"differenceRatio is at most the threshold."},"differenceRatio":{"nullable":true,"description":"Different pixels / compared pixels; null when a side was not captured.","type":"number","minimum":0,"maximum":1},"differentPixels":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPixels":{"nullable":true,"description":"Larger width × larger height: a size change counts the missing area as different.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sizeMatches":{"nullable":true,"type":"boolean"},"differenceBounds":{"nullable":true,"description":"Smallest rectangle holding every different pixel; null when none differ.","type":"object","properties":{"x":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"y":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"width":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"height":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["x","y","width","height"],"additionalProperties":false},"reference":{"nullable":true,"type":"object","properties":{"width":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"height":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Captured height in pixels, at most 6000."},"status":{"nullable":true,"description":"HTTP status of the navigation; null when the browser reported none.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"finalUrl":{"type":"string","description":"URL after redirects."}},"required":["width","height","status","finalUrl"],"additionalProperties":false},"candidate":{"nullable":true,"type":"object","properties":{"width":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"height":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Captured height in pixels, at most 6000."},"status":{"nullable":true,"description":"HTTP status of the navigation; null when the browser reported none.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"finalUrl":{"type":"string","description":"URL after redirects."}},"required":["width","height","status","finalUrl"],"additionalProperties":false},"error":{"nullable":true,"description":"Why a side was not captured, prefixed with reference: or candidate:.","type":"string"}},"required":["viewport","viewportWidth","pass","differenceRatio","differentPixels","totalPixels","sizeMatches","differenceBounds","reference","candidate","error"],"additionalProperties":false}},"error":{"nullable":true,"type":"string"}},"required":["path","referenceUrl","candidateUrl","inSitemap","verdict","maxDifferenceRatio","viewports","error"],"additionalProperties":false}}},"required":["referenceOrigin","candidateOrigin","sitemapUrl","verdict","threshold","channelTolerance","viewports","summary","nextOffset","urls"],"additionalProperties":false},"OperationSitesParityVisualRunError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","FORBIDDEN","SITE_PARITY_CANDIDATE_NOT_PREVIEW","SITE_PARITY_SAME_ORIGIN","SITE_PARITY_SITEMAP_UNAVAILABLE","SITE_PARITY_NO_URLS","SITE_PARITY_NOT_CONFIGURED","SITE_PARITY_VISUAL_NOT_CONFIGURED","SITE_PARITY_VISUAL_BROWSER_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesParityVisualRunErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesParityVisualRunErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesParityVisualRunErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesParityVisualRunErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesParityVisualRunErrorDefinitionSchema0"}}]},"OperationSitesParityVisualRunErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesParityVisualRunErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesParityVisualRunErrorDefinitionSchema1"}}]},"OperationSitesUpdateInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"name":{"type":"string","minLength":1,"maxLength":120},"productionBranch":{"type":"string","pattern":"^(?!\\/)(?!.*\\.\\.)[A-Za-z0-9._/-]{1,255}$"},"analyticsSiteId":{"description":"Analytics site to link; null unlinks it. The next routing write includes or drops its public key.","x-moreflow-reference":{"resolver":"analytics.sites.get"},"nullable":true,"type":"string","minLength":1,"maxLength":64},"rootDirectory":{"description":"App folder relative to the repository root, for example apps/web (repositories.github.inspect proposes website.buildSettings.rootDirectory). \".\" or null is the repository root and is returned as null. An absolute path, \"..\", a backslash or other characters than letters, digits and . _ @ + - fail with VALIDATION_ERROR (reason SITE_ROOT_DIRECTORY_INVALID) and recovery repositories.github.inspect.","nullable":true,"type":"string","maxLength":400},"installCommand":{"description":"Install command override, run as sh -c in the root directory inside the build sandbox. Null or empty detects it from the lockfile; pass only a command the detected default does not cover. One line without control characters (reason SITE_BUILD_COMMAND_INVALID).","nullable":true,"type":"string","maxLength":1000},"buildCommand":{"description":"Build command override, run as sh -c in the root directory inside the build sandbox. Null or empty runs the build script of the detected package manager. One line without control characters (reason SITE_BUILD_COMMAND_INVALID).","nullable":true,"type":"string","maxLength":1000},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId"],"additionalProperties":false},"OperationSitesUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site id"},"name":{"type":"string"},"slug":{"type":"string","description":"Global slug used in worker script names, preview hosts and the default production host."},"repositoryConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"repository connection id"},"productionBranch":{"type":"string"},"analyticsSiteId":{"nullable":true,"x-moreflow-reference":{"resolver":"analytics.sites.get"},"type":"string"},"currentProductionDeploymentId":{"nullable":true,"x-moreflow-reference":{"resolver":"sites.deployments.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"site deployment id"},"rootDirectory":{"nullable":true,"description":"App folder relative to the repository root (apps/web), no leading or trailing slash; null is the repository root.","type":"string"},"installCommand":{"nullable":true,"description":"Install command override, run as sh -c in rootDirectory inside the build sandbox; null detects it from the lockfile.","type":"string"},"buildCommand":{"nullable":true,"description":"Build command override, run as sh -c in rootDirectory inside the build sandbox; null runs the build script of the detected package manager.","type":"string"},"productionUrl":{"nullable":true,"description":"Default production URL https://<slug>.<platform zone>, set from site creation on; it serves the live deployment once currentProductionDeploymentId is set. Null when site hosting is not configured.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"}},"required":["canManage"],"additionalProperties":false}},"required":["id","name","slug","repositoryConnectionId","productionBranch","analyticsSiteId","currentProductionDeploymentId","rootDirectory","installCommand","buildCommand","productionUrl","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationSitesUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","SITE_ANALYTICS_SITE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesUpdateErrorDefinitionSchema0"}}]},"OperationSitesUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesUpdateErrorDefinitionSchema1"}}]},"OperationSitesVariablesDeleteInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"name":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{0,63}$","description":"Upper snake case variable name, for example API_BASE_URL."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","name"],"additionalProperties":false},"OperationSitesVariablesDeleteOutput":{"type":"object","properties":{"name":{"type":"string"},"removed":{"type":"boolean","enum":[true]}},"required":["name","removed"],"additionalProperties":false},"OperationSitesVariablesDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","SITE_ENV_VAR_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesVariablesDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteErrorDefinitionSchema0"}}]},"OperationSitesVariablesDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteErrorDefinitionSchema1"}}]},"OperationSitesVariablesListInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."}},"required":["siteId"],"additionalProperties":false},"OperationSitesVariablesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["name","createdAt","updatedAt"],"additionalProperties":false,"description":"Server variable metadata; values are write-only."}}},"required":["items"],"additionalProperties":false},"OperationSitesVariablesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesVariablesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesVariablesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesListErrorDefinitionSchema0"}}]},"OperationSitesVariablesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesVariablesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesListErrorDefinitionSchema1"}}]},"OperationSitesVariablesUpdateInput":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Site identifier."},"name":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{0,63}$","description":"Upper snake case variable name, for example API_BASE_URL."},"value":{"type":"string","maxLength":5000,"description":"Secret value; stored encrypted and never returned."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["siteId","name","value"],"additionalProperties":false},"OperationSitesVariablesUpdateOutput":{"type":"object","properties":{"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["name","createdAt","updatedAt"],"additionalProperties":false,"description":"Server variable metadata; values are write-only."},"OperationSitesVariablesUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","SITE_NOT_FOUND","SITE_ENV_VAR_LIMIT_REACHED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationSitesVariablesUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateErrorDefinitionSchema0"}}]},"OperationSitesVariablesUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateErrorDefinitionSchema1"}}]},"OperationStorageDownloadUrlBatchGetInput":{"type":"object","properties":{"storageObjectIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"storage object id"},"x-moreflow-opaque":{"reason":"Storage object identifiers are implementation details."}}},"required":["storageObjectIds"]},"OperationStorageDownloadUrlBatchGetOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"storageObjectId":{"type":"string","minLength":1},"download":{"nullable":true,"type":"object","properties":{"method":{"type":"string","enum":["GET","PUT"]},"url":{"type":"string","format":"uri"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["method","url","headers","expiresAt"],"additionalProperties":false},"error":{"nullable":true,"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false}},"required":["storageObjectId","download","error"],"additionalProperties":false}}},"required":["items"],"additionalProperties":false},"OperationStorageDownloadUrlBatchGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","FORBIDDEN","INVALID_STATE","VALIDATION_ERROR","PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStorageDownloadUrlBatchGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetErrorDefinitionSchema0"}}]},"OperationStorageDownloadUrlBatchGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetErrorDefinitionSchema1"}}]},"OperationStorageDownloadUrlGetInput":{"type":"object","properties":{"storageObjectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"storage object id"},"fileName":{"type":"string","minLength":1},"expiresInSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["storageObjectId"]},"OperationStorageDownloadUrlGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"storageObjectId":{"type":"string","minLength":1},"download":{"type":"object","properties":{"method":{"type":"string","enum":["GET","PUT"]},"url":{"type":"string","format":"uri"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["method","url","headers","expiresAt"],"additionalProperties":false}},"required":["id","storageObjectId","download"],"additionalProperties":false},"OperationStorageDownloadUrlGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","FORBIDDEN","INVALID_STATE","VALIDATION_ERROR","PROVIDER_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStorageDownloadUrlGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetErrorDefinitionSchema0"}}]},"OperationStorageDownloadUrlGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetErrorDefinitionSchema1"}}]},"OperationStudioAdsBriefsProposeInput":{"type":"object","properties":{"projectId":{"description":"The project the ad is for: its brief, brand and latest research seed the ad brief. Omit to work from the website and company context alone.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"websiteUrl":{"description":"The public website to read; defaults to the project's, then the company's website.","type":"string","minLength":1,"maxLength":2048},"offerHint":{"description":"What the user says about the offer in their own words (name, what it is, price); the brief keeps their facts.","type":"string","minLength":1,"maxLength":1000},"language":{"description":"The language of the ad; defaults to the project language.","type":"string","enum":["de","en"]}},"additionalProperties":false},"OperationStudioAdsBriefsProposeOutput":{"type":"object","properties":{"brief":{"type":"object","properties":{"language":{"type":"string","enum":["de","en"],"description":"The language the ad is spoken in."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the call to action names it, e.g. \"MPU-Infoabend\" or \"free first consultation\"."},"description":{"type":"string","maxLength":500,"description":"What the offer is and what the customer gets."},"price":{"nullable":true,"description":"The price exactly as the user states it; null when the ad names no price. Never proposed.","type":"string","minLength":1,"maxLength":60}},"required":["name","description","price"],"additionalProperties":false},"audience":{"type":"string","maxLength":500,"description":"Who the ad speaks to: their situation and what they want."},"mainPain":{"type":"string","maxLength":500,"description":"The one problem the ad opens with."},"objections":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What keeps the audience from buying, most common first."},"proof":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["testimonial","statistic","result","credential","other"],"description":"testimonial: a customer's own words (the only proof an ad may quote); statistic, result, credential or other: a fact the business can back."},"text":{"type":"string","minLength":1,"maxLength":400,"description":"The proof exactly as the user supplies it; numbers, prices and quotes in an ad must come from here or another brief field."},"source":{"nullable":true,"description":"Where the proof comes from (a customer's first name, a review site, a certificate); null when not stated.","type":"string","minLength":1,"maxLength":120}},"required":["kind","text","source"],"additionalProperties":false},"description":"Proof the user supplies: testimonials, numbers, results, credentials. Never proposed; an ad states no proof that is not here."},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"What the viewer does next, e.g. \"Book your seat\"."},"landingUrl":{"nullable":true,"description":"Where the ad sends the viewer; null for none.","type":"string","maxLength":2048},"brandKit":{"type":"object","properties":{"logoAssetId":{"nullable":true,"x-moreflow-reference":{"resolver":"media.assets.get"},"description":"The logo the ad end card shows; null for none.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"primaryColor":{"nullable":true,"description":"The brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"nullable":true,"description":"A second brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["logoAssetId","primaryColor","secondaryColor"],"additionalProperties":false,"description":"Logo and colours of the ad end card; seeded from the project brand."}},"required":["language","offer","audience","mainPain","objections","proof","callToAction","landingUrl","brandKit"],"additionalProperties":false},"missing":{"type":"array","items":{"type":"string","enum":["offer.description","offer.price","audience","mainPain","objections","proof","landingUrl"]},"description":"Fields the user still has to fill. proof and offer.price are always the user's to supply."},"removedClaims":{"type":"array","items":{"type":"string","maxLength":500},"description":"Proposed sentences that were dropped because their numbers, prices or results are not in the sources the brief was read from."}},"required":["brief","missing","removedClaims"],"additionalProperties":false},"OperationStudioAdsBriefsProposeError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AI_QUOTA_EXCEEDED","AI_UNAVAILABLE","STUDIO_PROJECT_NOT_FOUND","STUDIO_WEBSITE_UNREACHABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsBriefsProposeErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeErrorDefinitionSchema0"}}]},"OperationStudioAdsBriefsProposeErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeErrorDefinitionSchema1"}}]},"OperationStudioAdsDeliveryGetInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"description":"Defaults to the current version.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["videoId"],"additionalProperties":false},"OperationStudioAdsDeliveryGetOutput":{"type":"object","properties":{"id":{"type":"string","description":"The video and version this delivery covers, as videoId:versionId."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"nullable":true,"description":"The version read: the given one, else the current one; null while the video has none.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"placements":{"type":"array","items":{"type":"object","properties":{"placement":{"type":"string","enum":["vertical","feed","square"],"description":"vertical: 9:16 1080×1920 for Reels, TikTok, Stories and Shorts, text kept clear of both apps' interface; feed: 4:5 1080×1350 for the Instagram and Facebook feed; square: 1:1."},"aspectRatio":{"type":"string","enum":["9:16","4:5","1:1"],"description":"The frame the placement renders, at 1080p."},"status":{"type":"string","enum":["not_exported","rendering","render_failed","checking","regenerating","passed","failed","error"],"description":"not_exported; rendering; render_failed; checking (rendered, the ad QC run has not finished); regenerating (failing scenes are generated again); passed (the ad may be shown, downloaded and published); failed (a check failed, no automatic regeneration left); error (the QC gate could not run)."},"capabilities":{"type":"object","properties":{"canShow":{"type":"boolean","description":"Play the rendered ad: only once its QC run passed."},"canDownload":{"type":"boolean","description":"Download it with studio.exports.downloadUrl.get: only once its QC run passed."},"canPublish":{"type":"boolean","description":"Post it with studio.posts.create: its QC run passed and the caller manages Studio."},"canExport":{"type":"boolean","description":"Render the placement (again) with studio.exports.start { placement }: no usable export, or the gate could not run."}},"required":["canShow","canDownload","canPublish","canExport"],"additionalProperties":false},"export":{"nullable":true,"description":"The newest export of this placement of the version; null before the first.","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"scope":{"type":"string","enum":["video","scene"]},"sceneId":{"nullable":true,"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"placement":{"nullable":true,"description":"The ad placement this export renders (vertical 9:16, feed 4:5, square 1:1, all 1080p); null for a scene export or a version without an ad layout.","type":"string","enum":["vertical","feed","square"]},"origin":{"type":"string","enum":["auto","user"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"assetId":{"nullable":true,"description":"The rendered MP4 once succeeded.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"durationSeconds":{"nullable":true,"type":"number"},"byteSize":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"syntheticDisclosureApplied":{"type":"boolean","description":"The AI-generated label is burned in: the account Studio setting syntheticDisclosureEnabled when it rendered; false while queued."},"aiDisclosureRequired":{"type":"boolean","description":"Publishing must label this export as AI-generated (TikTok AIGC label / is_aigc, Meta \"AI info\"): it shows generated footage. True for every ad; false only for an export of uploaded footage alone."},"syntheticPresenter":{"type":"boolean","description":"The export shows a stock AI presenter (studio.presenters.list), a realistic synthetic person; publish it with the AI-generated label."},"adVariantId":{"nullable":true,"description":"The ad hook variant (studio.ads.variants.get) the exported video is, fixed when the export started: publish and attribute performance by it. Null for a video that is no variant.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"brandingApplied":{"type":"boolean"},"failureCode":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","versionId","scope","sceneId","placement","origin","status","assetId","durationSeconds","byteSize","syntheticDisclosureApplied","aiDisclosureRequired","syntheticPresenter","adVariantId","brandingApplied","failureCode","createdAt","completedAt"],"additionalProperties":false},"qc":{"nullable":true,"description":"The QC verdict of that export, with every check; null until the check starts.","type":"object","properties":{"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The ad export (one placement of one version) the run checked."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"placement":{"type":"string","enum":["vertical","feed","square"]},"status":{"type":"string","enum":["running","passed","failed","regenerating","error"],"description":"running; passed (the variant may be shown); regenerating (failing scenes are generated again, and the new ad export is checked); failed (a check failed and no automatic regeneration is left); error (the gate could not run)."},"regenerations":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Automatic regenerations that led to the checked version; one is the limit."},"checks":{"type":"array","items":{"type":"object","properties":{"check":{"type":"string","enum":["hook_legible","end_card_present","presenter_consistent","in_video_text_clean","speech_matches_script","captions_clear_of_ui"]},"status":{"type":"string","enum":["passed","failed","skipped"]},"source":{"type":"string","enum":["vision","transcript","layout"],"description":"vision: the vision model; transcript: the speech transcript; layout: the ad layout guarantees it."},"sceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"description":"The scenes whose footage fails the check."},"reason":{"type":"string"},"transcripts":{"description":"speech_matches_script only: what each transcriber heard in each spoken scene. A scene fails only when every transcriber that heard it hears a mismatch.","type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"hearings":{"type":"array","items":{"type":"object","properties":{"transcriber":{"type":"string","description":"The model that transcribed the clip, e.g. gemini-3.5-transcribe or scribe_v1."},"heard":{"nullable":true,"description":"What it heard; null when it could not transcribe the clip.","type":"string"},"matches":{"nullable":true,"description":"Whether that is the script; null when it could not transcribe the clip (it does not vote).","type":"boolean"},"reason":{"type":"string"}},"required":["transcriber","heard","matches","reason"],"additionalProperties":false}}},"required":["sceneId","hearings"],"additionalProperties":false}}},"required":["check","status","source","sceneIds","reason"],"additionalProperties":false},"description":"One verdict per check, in a fixed order; empty while running."},"failingSceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"description":"The scenes the scene checks blame.","x-moreflow-opaque":{"reason":"Document-local scene ids of the checked version; read them with studio.videos.versions.get."}},"regeneration":{"nullable":true,"type":"object","properties":{"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The retake version of the failing scenes."},"generationId":{"nullable":true,"description":"Its generation; null when the automatic start was refused.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."}}},"required":["versionId","generationId","sceneIds"],"additionalProperties":false},"failureCode":{"nullable":true,"description":"Why the run failed or errored, e.g. STUDIO_AD_QC_RETRY_BUDGET_EXHAUSTED or STUDIO_COST_CONFIRMATION_REQUIRED.","type":"string"},"recovery":{"nullable":true,"description":"What to do next when the run did not pass.","type":"object","properties":{"operation":{"type":"string","description":"The operation that resolves the result."},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"Arguments the next call takes as they are."},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Arguments the caller still has to choose."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["exportId","videoId","versionId","placement","status","regenerations","checks","failingSceneIds","regeneration","failureCode","recovery","createdAt","completedAt"],"additionalProperties":false},"recovery":{"nullable":true,"description":"The next step when the placement is not passed and not in progress: render it, retake a failing scene, confirm a regeneration or edit the ad layout.","type":"object","properties":{"operation":{"type":"string","description":"The operation that resolves the result."},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"Arguments the next call takes as they are."},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Arguments the caller still has to choose."}},"required":["operation","args","requiredFields"],"additionalProperties":false}},"required":["placement","aspectRatio","status","capabilities","export","qc","recovery"],"additionalProperties":false},"description":"One entry per placement (vertical, feed, square), in that order; empty when the version has no ad layout."}},"required":["id","videoId","versionId","placements"],"additionalProperties":false},"OperationStudioAdsDeliveryGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsDeliveryGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetErrorDefinitionSchema0"}}]},"OperationStudioAdsDeliveryGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetErrorDefinitionSchema1"}}]},"OperationStudioAdsFormatsGetInput":{"type":"object","properties":{"formatId":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"An ad format id (studio.ads.formats.list)."}},"required":["formatId"],"additionalProperties":false},"OperationStudioAdsFormatsGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"description":"Pass as formatId to studio.ads.scripts.generate."},"name":{"type":"object","properties":{"de":{"type":"string","minLength":1,"maxLength":200},"en":{"type":"string","minLength":1,"maxLength":200}},"required":["de","en"],"additionalProperties":false,"description":"Localized name of the format."},"purpose":{"type":"object","properties":{"de":{"type":"string","minLength":1,"maxLength":200},"en":{"type":"string","minLength":1,"maxLength":200}},"required":["de","en"],"additionalProperties":false,"description":"One line on what the format is for."},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The length of every ad in this format."},"aspectRatio":{"type":"string","enum":["9:16"],"description":"The aspect ratio the ad is drafted in; placements are rendered from it."},"requiresProof":{"nullable":true,"description":"The proof kind the brief must hold for this format (testimonial for the dramatised customer story); null when none is required.","type":"string","enum":["testimonial","statistic","result","credential","other"]},"disclosure":{"nullable":true,"description":"The label the ad shows because a synthetic presenter retells a customer; null for none.","type":"object","properties":{"de":{"type":"string","minLength":1,"maxLength":200},"en":{"type":"string","minLength":1,"maxLength":200}},"required":["de","en"],"additionalProperties":false},"beats":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["hook","problem","proof","offer","cta"],"description":"The beat of the direct-response formula; every format has all five, in order."},"startSeconds":{"type":"number","minimum":0,"description":"When the beat starts in the ad."},"endSeconds":{"type":"number","minimum":0,"description":"When the beat ends; the hook ends by second 2."},"maxWords":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The most spoken words the beat holds; the hook holds at most 6."},"guidance":{"type":"string","maxLength":400,"description":"What the beat says in this format."}},"required":["role","startSeconds","endSeconds","maxWords","guidance"],"additionalProperties":false},"description":"The fixed beats in order: hook, problem, proof, offer, cta."}},"required":["id","name","purpose","durationSeconds","aspectRatio","requiresProof","disclosure","beats"],"additionalProperties":false},"OperationStudioAdsFormatsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsFormatsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetErrorDefinitionSchema0"}}]},"OperationStudioAdsFormatsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetErrorDefinitionSchema1"}}]},"OperationStudioAdsFormatsListInput":{"type":"object","properties":{},"additionalProperties":false},"OperationStudioAdsFormatsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"description":"Pass as formatId to studio.ads.scripts.generate."},"name":{"type":"object","properties":{"de":{"type":"string","minLength":1,"maxLength":200},"en":{"type":"string","minLength":1,"maxLength":200}},"required":["de","en"],"additionalProperties":false,"description":"Localized name of the format."},"purpose":{"type":"object","properties":{"de":{"type":"string","minLength":1,"maxLength":200},"en":{"type":"string","minLength":1,"maxLength":200}},"required":["de","en"],"additionalProperties":false,"description":"One line on what the format is for."},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The length of every ad in this format."},"aspectRatio":{"type":"string","enum":["9:16"],"description":"The aspect ratio the ad is drafted in; placements are rendered from it."},"requiresProof":{"nullable":true,"description":"The proof kind the brief must hold for this format (testimonial for the dramatised customer story); null when none is required.","type":"string","enum":["testimonial","statistic","result","credential","other"]},"disclosure":{"nullable":true,"description":"The label the ad shows because a synthetic presenter retells a customer; null for none.","type":"object","properties":{"de":{"type":"string","minLength":1,"maxLength":200},"en":{"type":"string","minLength":1,"maxLength":200}},"required":["de","en"],"additionalProperties":false},"beats":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["hook","problem","proof","offer","cta"],"description":"The beat of the direct-response formula; every format has all five, in order."},"startSeconds":{"type":"number","minimum":0,"description":"When the beat starts in the ad."},"endSeconds":{"type":"number","minimum":0,"description":"When the beat ends; the hook ends by second 2."},"maxWords":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The most spoken words the beat holds; the hook holds at most 6."},"guidance":{"type":"string","maxLength":400,"description":"What the beat says in this format."}},"required":["role","startSeconds","endSeconds","maxWords","guidance"],"additionalProperties":false},"description":"The fixed beats in order: hook, problem, proof, offer, cta."}},"required":["id","name","purpose","durationSeconds","aspectRatio","requiresProof","disclosure","beats"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Always null: every format fits in one page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioAdsFormatsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsFormatsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListErrorDefinitionSchema0"}}]},"OperationStudioAdsFormatsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListErrorDefinitionSchema1"}}]},"OperationStudioAdsHooksProposeInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The ad the hooks are for (a video made with studio.videos.create { ad }): its brief, format and project research seed the hooks."},"count":{"description":"How many hooks to propose; default 6, at most 12 (a batch takes at most 12 hooks).","type":"integer","minimum":1,"maximum":12},"exclude":{"description":"Hooks the caller already has (written or kept from an earlier proposal); none of them is proposed again.","maxItems":24,"type":"array","items":{"type":"string","minLength":1,"maxLength":80}},"winningHooks":{"description":"Hooks of earlier variants that performed, best first, as studio.ads.variants.winners.list returns them (its items, unchanged); new hooks follow the strongest direction without repeating them.","maxItems":12,"type":"array","items":{"type":"object","properties":{"variantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: the variant that said the hook.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"hook":{"type":"string","minLength":1,"maxLength":80,"description":"The hook the variant said."},"formatId":{"nullable":true,"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The format of the ad; null when unknown.","type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"]},"presenterId":{"nullable":true,"x-moreflow-reference":{"resolver":"studio.presenters.get"},"description":"The stock presenter who spoke it; null for none.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"},"language":{"nullable":true,"description":"The language of the ad; null when unknown.","type":"string","enum":["de","en"]},"metrics":{"type":"object","properties":{"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How often the variant was shown."},"spendCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Ad spend on the variant, in cents."},"ctr":{"nullable":true,"description":"Clicks / impressions, 0 to 1; null without impressions.","type":"number","minimum":0,"maximum":1},"hookRate":{"nullable":true,"description":"Thumb-stop views / impressions, 0 to 1 (Meta 3-second video views, TikTok 2-second views); null when the platform reports none.","type":"number","minimum":0,"maximum":1},"cplCents":{"nullable":true,"description":"Spend per CRM-attributed lead, in cents; null without leads.","type":"integer","minimum":0,"maximum":9007199254740991},"leads":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"CRM-attributed leads."},"dealsWon":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"CRM-attributed deals won."}},"required":["impressions","spendCents","ctr","hookRate","cplCents","leads","dealsWon"],"additionalProperties":false,"description":"How the variant performed."}},"required":["variantId","hook","formatId","presenterId","language","metrics"],"additionalProperties":false}}},"required":["videoId"],"additionalProperties":false},"OperationStudioAdsHooksProposeOutput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The ad the hooks are for."},"language":{"type":"string","enum":["de","en"],"description":"The ad language every hook is in."},"formatId":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The ad format."},"hooks":{"type":"array","items":{"type":"object","properties":{"hook":{"type":"string","description":"The hook, ready for studio.ads.variants.estimate { hooks }."},"wordCount":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Spoken words, at most 6."}},"required":["hook","wordCount"],"additionalProperties":false},"description":"Distinct hooks that pass the hook rules against the ad brief, at most count; fewer when the model found no more."},"rejected":{"type":"array","items":{"type":"object","properties":{"hook":{"type":"string"},"reason":{"type":"string","enum":["empty","hook_too_long","unsupported_claim","duplicate","already_used"],"description":"empty: says nothing; hook_too_long: over 6 words; unsupported_claim: a number, price, result or quote the brief does not back; duplicate: proposed twice; already_used: the ad, an earlier variant or exclude has it."},"message":{"type":"string"}},"required":["hook","reason","message"],"additionalProperties":false},"description":"Model proposals the rules refused, for transparency; never returned in hooks."}},"required":["videoId","language","formatId","hooks","rejected"],"additionalProperties":false},"OperationStudioAdsHooksProposeError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AI_QUOTA_EXCEEDED","AI_UNAVAILABLE","STUDIO_AD_BASE_NOT_AN_AD"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsHooksProposeErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeErrorDefinitionSchema0"}}]},"OperationStudioAdsHooksProposeErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeErrorDefinitionSchema1"}}]},"OperationStudioAdsQcGetInput":{"type":"object","properties":{"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."}},"required":["exportId"],"additionalProperties":false},"OperationStudioAdsQcGetOutput":{"type":"object","properties":{"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The ad export (one placement of one version) the run checked."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"placement":{"type":"string","enum":["vertical","feed","square"]},"status":{"type":"string","enum":["running","passed","failed","regenerating","error"],"description":"running; passed (the variant may be shown); regenerating (failing scenes are generated again, and the new ad export is checked); failed (a check failed and no automatic regeneration is left); error (the gate could not run)."},"regenerations":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Automatic regenerations that led to the checked version; one is the limit."},"checks":{"type":"array","items":{"type":"object","properties":{"check":{"type":"string","enum":["hook_legible","end_card_present","presenter_consistent","in_video_text_clean","speech_matches_script","captions_clear_of_ui"]},"status":{"type":"string","enum":["passed","failed","skipped"]},"source":{"type":"string","enum":["vision","transcript","layout"],"description":"vision: the vision model; transcript: the speech transcript; layout: the ad layout guarantees it."},"sceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"description":"The scenes whose footage fails the check."},"reason":{"type":"string"},"transcripts":{"description":"speech_matches_script only: what each transcriber heard in each spoken scene. A scene fails only when every transcriber that heard it hears a mismatch.","type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"hearings":{"type":"array","items":{"type":"object","properties":{"transcriber":{"type":"string","description":"The model that transcribed the clip, e.g. gemini-3.5-transcribe or scribe_v1."},"heard":{"nullable":true,"description":"What it heard; null when it could not transcribe the clip.","type":"string"},"matches":{"nullable":true,"description":"Whether that is the script; null when it could not transcribe the clip (it does not vote).","type":"boolean"},"reason":{"type":"string"}},"required":["transcriber","heard","matches","reason"],"additionalProperties":false}}},"required":["sceneId","hearings"],"additionalProperties":false}}},"required":["check","status","source","sceneIds","reason"],"additionalProperties":false},"description":"One verdict per check, in a fixed order; empty while running."},"failingSceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"description":"The scenes the scene checks blame.","x-moreflow-opaque":{"reason":"Document-local scene ids of the checked version; read them with studio.videos.versions.get."}},"regeneration":{"nullable":true,"type":"object","properties":{"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The retake version of the failing scenes."},"generationId":{"nullable":true,"description":"Its generation; null when the automatic start was refused.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."}}},"required":["versionId","generationId","sceneIds"],"additionalProperties":false},"failureCode":{"nullable":true,"description":"Why the run failed or errored, e.g. STUDIO_AD_QC_RETRY_BUDGET_EXHAUSTED or STUDIO_COST_CONFIRMATION_REQUIRED.","type":"string"},"recovery":{"nullable":true,"description":"What to do next when the run did not pass.","type":"object","properties":{"operation":{"type":"string","description":"The operation that resolves the result."},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"Arguments the next call takes as they are."},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Arguments the caller still has to choose."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["exportId","videoId","versionId","placement","status","regenerations","checks","failingSceneIds","regeneration","failureCode","recovery","createdAt","completedAt"],"additionalProperties":false},"OperationStudioAdsQcGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_EXPORT_NOT_FOUND","STUDIO_AD_QC_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsQcGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsQcGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsQcGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsQcGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsQcGetErrorDefinitionSchema0"}}]},"OperationStudioAdsQcGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsQcGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsQcGetErrorDefinitionSchema1"}}]},"OperationStudioAdsQcListInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"required":["videoId"],"additionalProperties":false},"OperationStudioAdsQcListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The ad export (one placement of one version) the run checked."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"placement":{"type":"string","enum":["vertical","feed","square"]},"status":{"type":"string","enum":["running","passed","failed","regenerating","error"],"description":"running; passed (the variant may be shown); regenerating (failing scenes are generated again, and the new ad export is checked); failed (a check failed and no automatic regeneration is left); error (the gate could not run)."},"regenerations":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Automatic regenerations that led to the checked version; one is the limit."},"checks":{"type":"array","items":{"type":"object","properties":{"check":{"type":"string","enum":["hook_legible","end_card_present","presenter_consistent","in_video_text_clean","speech_matches_script","captions_clear_of_ui"]},"status":{"type":"string","enum":["passed","failed","skipped"]},"source":{"type":"string","enum":["vision","transcript","layout"],"description":"vision: the vision model; transcript: the speech transcript; layout: the ad layout guarantees it."},"sceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"description":"The scenes whose footage fails the check."},"reason":{"type":"string"},"transcripts":{"description":"speech_matches_script only: what each transcriber heard in each spoken scene. A scene fails only when every transcriber that heard it hears a mismatch.","type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"hearings":{"type":"array","items":{"type":"object","properties":{"transcriber":{"type":"string","description":"The model that transcribed the clip, e.g. gemini-3.5-transcribe or scribe_v1."},"heard":{"nullable":true,"description":"What it heard; null when it could not transcribe the clip.","type":"string"},"matches":{"nullable":true,"description":"Whether that is the script; null when it could not transcribe the clip (it does not vote).","type":"boolean"},"reason":{"type":"string"}},"required":["transcriber","heard","matches","reason"],"additionalProperties":false}}},"required":["sceneId","hearings"],"additionalProperties":false}}},"required":["check","status","source","sceneIds","reason"],"additionalProperties":false},"description":"One verdict per check, in a fixed order; empty while running."},"failingSceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"description":"The scenes the scene checks blame.","x-moreflow-opaque":{"reason":"Document-local scene ids of the checked version; read them with studio.videos.versions.get."}},"regeneration":{"nullable":true,"type":"object","properties":{"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The retake version of the failing scenes."},"generationId":{"nullable":true,"description":"Its generation; null when the automatic start was refused.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."}}},"required":["versionId","generationId","sceneIds"],"additionalProperties":false},"failureCode":{"nullable":true,"description":"Why the run failed or errored, e.g. STUDIO_AD_QC_RETRY_BUDGET_EXHAUSTED or STUDIO_COST_CONFIRMATION_REQUIRED.","type":"string"},"recovery":{"nullable":true,"description":"What to do next when the run did not pass.","type":"object","properties":{"operation":{"type":"string","description":"The operation that resolves the result."},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"Arguments the next call takes as they are."},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Arguments the caller still has to choose."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["exportId","videoId","versionId","placement","status","regenerations","checks","failingSceneIds","regeneration","failureCode","recovery","createdAt","completedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioAdsQcListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsQcListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsQcListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsQcListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsQcListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsQcListErrorDefinitionSchema0"}}]},"OperationStudioAdsQcListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsQcListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsQcListErrorDefinitionSchema1"}}]},"OperationStudioAdsScriptsGenerateInput":{"type":"object","properties":{"formatId":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"An ad format id (studio.ads.formats.list)."},"brief":{"type":"object","properties":{"language":{"type":"string","enum":["de","en"],"description":"The language the ad is spoken in."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the call to action names it, e.g. \"MPU-Infoabend\" or \"free first consultation\"."},"description":{"type":"string","maxLength":500,"description":"What the offer is and what the customer gets."},"price":{"nullable":true,"description":"The price exactly as the user states it; null when the ad names no price. Never proposed.","type":"string","minLength":1,"maxLength":60}},"required":["name","description","price"],"additionalProperties":false},"audience":{"type":"string","maxLength":500,"description":"Who the ad speaks to: their situation and what they want."},"mainPain":{"type":"string","maxLength":500,"description":"The one problem the ad opens with."},"objections":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What keeps the audience from buying, most common first."},"proof":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["testimonial","statistic","result","credential","other"],"description":"testimonial: a customer's own words (the only proof an ad may quote); statistic, result, credential or other: a fact the business can back."},"text":{"type":"string","minLength":1,"maxLength":400,"description":"The proof exactly as the user supplies it; numbers, prices and quotes in an ad must come from here or another brief field."},"source":{"nullable":true,"description":"Where the proof comes from (a customer's first name, a review site, a certificate); null when not stated.","type":"string","minLength":1,"maxLength":120}},"required":["kind","text","source"],"additionalProperties":false},"description":"Proof the user supplies: testimonials, numbers, results, credentials. Never proposed; an ad states no proof that is not here."},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"What the viewer does next, e.g. \"Book your seat\"."},"landingUrl":{"nullable":true,"description":"Where the ad sends the viewer; null for none.","type":"string","maxLength":2048},"brandKit":{"type":"object","properties":{"logoAssetId":{"nullable":true,"x-moreflow-reference":{"resolver":"media.assets.get"},"description":"The logo the ad end card shows; null for none.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"primaryColor":{"nullable":true,"description":"The brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"nullable":true,"description":"A second brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["logoAssetId","primaryColor","secondaryColor"],"additionalProperties":false,"description":"Logo and colours of the ad end card; seeded from the project brand."}},"required":["language","offer","audience","mainPain","objections","proof","callToAction","landingUrl","brandKit"],"additionalProperties":false,"description":"The confirmed ad brief (studio.ads.briefs.propose, edited by the user, with the proof and price they supply)."},"hook":{"description":"A fixed hook of at most 6 words (a hook variant); the script keeps it word for word. Omit to let the writer choose.","type":"string","minLength":1,"maxLength":80}},"required":["formatId","brief"],"additionalProperties":false},"OperationStudioAdsScriptsGenerateOutput":{"type":"object","properties":{"script":{"type":"object","properties":{"formatId":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The ad format (studio.ads.formats.list)."},"language":{"type":"string","enum":["de","en"],"description":"The language the presenter speaks; the brief's language."},"hook":{"type":"string","minLength":1,"maxLength":80,"description":"The hook headline: at most 6 words, spoken as the first beat within the first 2 seconds and shown as the headline."},"beats":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["hook","problem","proof","offer","cta"],"description":"The beat: hook, problem, proof, offer or cta, in this order."},"startSeconds":{"type":"number","minimum":0,"description":"When the beat starts; the format fixes it."},"endSeconds":{"type":"number","minimum":0,"description":"When the beat ends; the format fixes it."},"spokenText":{"type":"string","minLength":1,"maxLength":400,"description":"What the presenter says to the camera in this beat."}},"required":["role","startSeconds","endSeconds","spokenText"],"additionalProperties":false},"description":"The five timed beats in order."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the brief names it; the cta beat says it."},"price":{"nullable":true,"description":"The brief's price; null when the ad names none.","type":"string","minLength":1,"maxLength":60}},"required":["name","price"],"additionalProperties":false},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"The brief's call to action, for the end card."},"landingUrl":{"nullable":true,"description":"The brief's landing URL; null for none.","type":"string","maxLength":2048},"setting":{"type":"string","minLength":1,"maxLength":300,"description":"The one place the whole ad is filmed in, in English for the video model."},"disclosure":{"nullable":true,"description":"The label a dramatised format shows (studio.ads.formats.get disclosure, in the ad language); null otherwise.","type":"string","minLength":1,"maxLength":120},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The length of the ad."}},"required":["formatId","language","hook","beats","offer","callToAction","landingUrl","setting","disclosure","durationSeconds"],"additionalProperties":false}},"required":["script"],"additionalProperties":false},"OperationStudioAdsScriptsGenerateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AI_QUOTA_EXCEEDED","AI_UNAVAILABLE","STUDIO_AD_PROOF_REQUIRED","STUDIO_AD_SCRIPT_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsScriptsGenerateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateErrorDefinitionSchema0"}}]},"OperationStudioAdsScriptsGenerateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateErrorDefinitionSchema1"}}]},"OperationStudioAdsVariantsCreateInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The generated ad the variants are made from (studio.videos.create { ad }, then generated): its body is reused."},"hooks":{"minItems":1,"maxItems":12,"type":"array","items":{"type":"string","minLength":1,"maxLength":80},"description":"The hooks to test, each at most 6 words and in the ad language; each is checked against the ad brief like a script hook. The base ad's own hook makes no new variant for its presenter: the base ad is that variant, the batch's control."},"presenterIds":{"description":"Stock presenters who speak the variants (studio.presenters.list); omitted, the base ad's presenter. Every hook is made with every presenter; another presenter than the base's needs its body generated once.","x-moreflow-reference":{"resolver":"studio.presenters.get"},"minItems":1,"maxItems":2,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"},"description":"A stock AI presenter id (studio.presenters.list), e.g. presenter_anna."}},"expectedTotalCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"totalCents of studio.ads.variants.estimate; the batch is refused when it now costs more."},"confirmed":{"description":"Must be true: every variant is a new video whose first generation is confirmed with its cost.","type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","hooks","expectedTotalCents"],"additionalProperties":false},"OperationStudioAdsVariantsCreateOutput":{"type":"object","properties":{"batchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant batch id: the variants of one studio.ads.variants.create call.","x-moreflow-reference":{"resolver":"studio.ads.variants.list"}},"baseVideoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The ad the batch was made from.","x-moreflow-reference":{"resolver":"studio.videos.get"}},"totalCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What the batch was quoted at."},"currency":{"type":"string","enum":["EUR"]},"variants":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: one hook variant, stable for publishing and performance attribution.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"batchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The batch that created the variant; a control is registered by the first batch made from its base ad and is the control of every later one.","x-moreflow-reference":{"resolver":"studio.ads.variants.list"}},"control":{"type":"boolean","description":"The base ad itself (videoId is the base): the control the hook variants are measured against. It costs nothing, generates nothing, and its exports carry its id like every variant's."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The variant's own ad video: generations, exports, QC and posts are its own (studio.ads.delivery.get, studio.posts.create)."},"baseVideoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The ad the batch was made from.","x-moreflow-reference":{"resolver":"studio.videos.get"}},"bodyVideoId":{"nullable":true,"description":"The video whose body takes this variant reuses; null when it generates its own body.","x-moreflow-reference":{"resolver":"studio.videos.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Order within its batch: 0 is the control, hook variants from 1."},"hook":{"type":"string","description":"The hook the variant says and shows as its headline."},"presenterId":{"nullable":true,"description":"The stock presenter who speaks the variant; null for an ad without one.","x-moreflow-reference":{"resolver":"studio.presenters.get"},"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"},"quotedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What the variant's generation was quoted at when the batch was confirmed."},"start":{"type":"object","properties":{"status":{"type":"string","enum":["started","waiting_for_body","refused"],"description":"started: its generation runs or ran (generationId); waiting_for_body: it starts by itself once the body it reuses is generated; refused: the start was refused (code)."},"code":{"nullable":true,"description":"Why the start was refused, e.g. AI_QUOTA_EXCEEDED or STUDIO_ESTIMATE_CHANGED; null otherwise.","type":"string"},"generationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."}},"required":["status","code","generationId"],"additionalProperties":false},"video":{"nullable":true,"description":"Null when the variant video was deleted.","type":"object","properties":{"status":{"type":"string","enum":["drafting","draft","generating","ready","failed"],"description":"The variant video's status: ready once generated and exported."},"currentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."}},"required":["status","currentVersionId"],"additionalProperties":false},"recovery":{"nullable":true,"description":"The next step for a refused start: quote and start the variant video yourself.","type":"object","properties":{"operation":{"type":"string","description":"The operation that resolves the result."},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"Arguments the next call takes as they are."},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Arguments the caller still has to choose."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","batchId","control","videoId","baseVideoId","bodyVideoId","position","hook","presenterId","quotedCents","start","video","recovery","createdAt"],"additionalProperties":false},"description":"The control (the base ad) first, then the hook variants this batch created."}},"required":["batchId","baseVideoId","totalCents","currency","variants"],"additionalProperties":false},"OperationStudioAdsVariantsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_COST_CONFIRMATION_REQUIRED","STUDIO_ESTIMATE_CHANGED","STUDIO_AD_BASE_NOT_AN_AD","STUDIO_AD_BASE_NOT_GENERATED","STUDIO_AD_QC_NOT_PASSED","STUDIO_AD_SCRIPT_INVALID","STUDIO_PROJECT_ARCHIVED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsVariantsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateErrorDefinitionSchema0"}}]},"OperationStudioAdsVariantsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateErrorDefinitionSchema1"}}]},"OperationStudioAdsVariantsCreativesListInput":{"type":"object","properties":{"variantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: one hook variant, stable for publishing and performance attribution.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"platform":{"type":"string","enum":["meta_ads","tiktok_ads"],"description":"meta_ads: Facebook and Instagram (9:16 Reels and Stories, 4:5 feed, 1:1 optional); tiktok_ads: TikTok (9:16 only)."},"landingPageUrl":{"description":"Where the ad sends viewers; defaults to the ad brief's landing URL. The variant tag is added either way.","type":"string","format":"uri"}},"required":["variantId","platform"],"additionalProperties":false},"OperationStudioAdsVariantsCreativesListOutput":{"type":"object","properties":{"variantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: one hook variant, stable for publishing and performance attribution.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"platform":{"type":"string","enum":["meta_ads","tiktok_ads"],"description":"meta_ads: Facebook and Instagram (9:16 Reels and Stories, 4:5 feed, 1:1 optional); tiktok_ads: TikTok (9:16 only)."},"hook":{"type":"string"},"aiDisclosure":{"type":"object","properties":{"required":{"type":"boolean","description":"The export shows AI-generated footage or a synthetic presenter: every ad of it is labelled."},"syntheticPresenter":{"type":"boolean"},"method":{"type":"string","enum":["platform_field","primary_text","none"],"description":"platform_field: TikTok's aigc_disclosure_type (ads.create aigcDisclosure true); primary_text: Meta has no AI disclosure field for third-party AI media, so the ad text states it; none: not AI-generated."},"text":{"nullable":true,"description":"The label the ad text carries (primary_text); null otherwise.","type":"string"}},"required":["required","syntheticPresenter","method","text"],"additionalProperties":false},"trackingTag":{"type":"string","description":"utm_content of the variant's landing URL: website leads carrying it are attributed to the variant."},"landingPageUrl":{"nullable":true,"description":"The ad's landing URL with utm_source, utm_medium paid_social and the tracking tag; null when the ad brief has no landing URL (then pass one).","type":"string"},"creatives":{"type":"array","items":{"type":"object","properties":{"placement":{"type":"string","enum":["vertical","feed","square"],"description":"vertical: 9:16 1080×1920 for Reels, TikTok, Stories and Shorts, text kept clear of both apps' interface; feed: 4:5 1080×1350 for the Instagram and Facebook feed; square: 1:1."},"aspectRatio":{"type":"string","enum":["9:16","4:5","1:1"]},"optional":{"type":"boolean","description":"The placement may be left out (the 1:1 square on Meta)."},"status":{"type":"string","enum":["not_exported","rendering","render_failed","checking","regenerating","passed","failed","error"],"description":"The placement's delivery status, as studio.ads.delivery.get reports it."},"publishable":{"type":"boolean","description":"Its export passed ad QC and the caller manages Studio: the steps may run."},"exportId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"mediaAssetId":{"nullable":true,"x-moreflow-reference":{"resolver":"media.assets.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The rendered ad (MP4) to upload."},"coverMediaAssetId":{"nullable":true,"x-moreflow-reference":{"resolver":"media.assets.get"},"description":"The video cover to upload (TikTok coverImageId, Meta thumbnail): the export's cover still, the rendered hook frame with its headline in this placement's frame (JPEG). An export rendered before covers were stored falls back to a still of the hook scene (its keyframe or the take's last frame, not in the placement frame); null when neither exists: upload an image of the same aspect ratio instead.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"positions":{"anyOf":[{"type":"object","properties":{"platform":{"type":"string","enum":["meta_ads"]},"publisherPlatforms":{"type":"array","items":{"type":"string"}},"facebookPositions":{"type":"array","items":{"type":"string"}},"instagramPositions":{"type":"array","items":{"type":"string"}}},"required":["platform","publisherPlatforms","facebookPositions","instagramPositions"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["tiktok_ads"]},"placements":{"type":"array","items":{"type":"string"}}},"required":["platform","placements"],"additionalProperties":false}],"description":"Where this creative runs: put it in an ad set (Meta targeting publisher_platforms, facebook_positions, instagram_positions) or ad group (TikTok placements) restricted to these."},"name":{"type":"string","description":"Ad and creative name: hook, frame and variant."},"headline":{"nullable":true,"description":"Meta headline: the offer; null on TikTok.","type":"string"},"text":{"type":"string","description":"Meta primary text (with the AI label) or TikTok ad text (at most 100 characters)."},"steps":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","description":"The operation to call."},"args":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"boolean"}]},"description":"Arguments the call takes as they are."},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Arguments the caller still supplies: ids returned by an earlier step or chosen by the user."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"description":"The calls that publish this placement, in order; empty when it is not publishable."},"recovery":{"nullable":true,"description":"What makes an unpublishable placement publishable (export it, retake a failing scene); null otherwise.","type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false}},"required":["placement","aspectRatio","optional","status","publishable","exportId","mediaAssetId","coverMediaAssetId","positions","name","headline","text","steps","recovery"],"additionalProperties":false},"description":"One per placement the platform takes, in placement order."}},"required":["variantId","videoId","platform","hook","aiDisclosure","trackingTag","landingPageUrl","creatives"],"additionalProperties":false},"OperationStudioAdsVariantsCreativesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_AD_VARIANT_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsVariantsCreativesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListErrorDefinitionSchema0"}}]},"OperationStudioAdsVariantsCreativesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListErrorDefinitionSchema1"}}]},"OperationStudioAdsVariantsEstimateInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The generated ad the variants are made from (studio.videos.create { ad }, then generated): its body is reused."},"hooks":{"minItems":1,"maxItems":12,"type":"array","items":{"type":"string","minLength":1,"maxLength":80},"description":"The hooks to test, each at most 6 words and in the ad language; each is checked against the ad brief like a script hook. The base ad's own hook makes no new variant for its presenter: the base ad is that variant, the batch's control."},"presenterIds":{"description":"Stock presenters who speak the variants (studio.presenters.list); omitted, the base ad's presenter. Every hook is made with every presenter; another presenter than the base's needs its body generated once.","x-moreflow-reference":{"resolver":"studio.presenters.get"},"minItems":1,"maxItems":2,"type":"array","items":{"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"},"description":"A stock AI presenter id (studio.presenters.list), e.g. presenter_anna."}}},"required":["videoId","hooks"],"additionalProperties":false},"OperationStudioAdsVariantsEstimateOutput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The base ad."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The base ad's current version the variants copy."},"control":{"type":"object","properties":{"variantId":{"nullable":true,"description":"The base ad's variant id; null until the first batch made from it registers it.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"hook":{"type":"string","description":"The base ad's own hook."},"presenterId":{"nullable":true,"x-moreflow-reference":{"resolver":"studio.presenters.get"},"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","description":"A stock AI presenter id (studio.presenters.list), e.g. presenter_anna."}},"required":["variantId","hook","presenterId"],"additionalProperties":false,"description":"The base ad itself, the control variant at position 0: studio.ads.variants.create registers it at no cost, so its exports carry its adVariantId and it is published and attributed like every hook variant."},"variants":{"type":"array","items":{"type":"object","properties":{"position":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"From 1; position 0 is the control, the base ad."},"hook":{"type":"string"},"presenterId":{"nullable":true,"x-moreflow-reference":{"resolver":"studio.presenters.get"},"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","description":"A stock AI presenter id (studio.presenters.list), e.g. presenter_anna."},"body":{"type":"string","enum":["base","own","variant"],"description":"base: the body scenes reuse the base ad's takes; own: the variant generates its whole body (the first variant of another presenter); variant: it reuses the body of the variant at bodyPosition, once that is generated."},"bodyPosition":{"nullable":true,"description":"The variant whose body this one reuses (body variant); null otherwise.","type":"integer","minimum":0,"maximum":9007199254740991},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What generating this variant costs: its hook scene, plus its body for body own."},"scenes":{"type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string"},"reused":{"type":"boolean","description":"The scene reuses a body take at no cost."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"model":{"type":"string","description":"Provider models the scene runs on; `reused` for a reused take."}},"required":["sceneId","reused","estimatedCents","model"],"additionalProperties":false}}},"required":["position","hook","presenterId","body","bodyPosition","estimatedCents","scenes"],"additionalProperties":false},"description":"Every hook with every presenter, base presenter first, in the order created; the base ad's own hook with its presenter is the control, not a variant here."},"totalCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The whole batch; pass it as expectedTotalCents to studio.ads.variants.create."},"fullGenerationCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What one full generation of the ad costs today, for comparison."},"withoutReuseCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What generating every variant in full would cost (fullGenerationCents times the variants)."},"currency":{"type":"string","enum":["EUR"]},"pricingVersion":{"type":"string"},"confirmationRequired":{"type":"boolean","enum":[true],"description":"Always true: every variant is a new video, whose first generation needs a confirmed cost."}},"required":["videoId","versionId","control","variants","totalCents","fullGenerationCents","withoutReuseCents","currency","pricingVersion","confirmationRequired"],"additionalProperties":false},"OperationStudioAdsVariantsEstimateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_AD_BASE_NOT_AN_AD","STUDIO_AD_BASE_NOT_GENERATED","STUDIO_AD_QC_NOT_PASSED","STUDIO_AD_SCRIPT_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsVariantsEstimateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateErrorDefinitionSchema0"}}]},"OperationStudioAdsVariantsEstimateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateErrorDefinitionSchema1"}}]},"OperationStudioAdsVariantsGetInput":{"type":"object","properties":{"variantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: one hook variant, stable for publishing and performance attribution.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}}},"required":["variantId"],"additionalProperties":false},"OperationStudioAdsVariantsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: one hook variant, stable for publishing and performance attribution.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"batchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The batch that created the variant; a control is registered by the first batch made from its base ad and is the control of every later one.","x-moreflow-reference":{"resolver":"studio.ads.variants.list"}},"control":{"type":"boolean","description":"The base ad itself (videoId is the base): the control the hook variants are measured against. It costs nothing, generates nothing, and its exports carry its id like every variant's."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The variant's own ad video: generations, exports, QC and posts are its own (studio.ads.delivery.get, studio.posts.create)."},"baseVideoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The ad the batch was made from.","x-moreflow-reference":{"resolver":"studio.videos.get"}},"bodyVideoId":{"nullable":true,"description":"The video whose body takes this variant reuses; null when it generates its own body.","x-moreflow-reference":{"resolver":"studio.videos.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Order within its batch: 0 is the control, hook variants from 1."},"hook":{"type":"string","description":"The hook the variant says and shows as its headline."},"presenterId":{"nullable":true,"description":"The stock presenter who speaks the variant; null for an ad without one.","x-moreflow-reference":{"resolver":"studio.presenters.get"},"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"},"quotedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What the variant's generation was quoted at when the batch was confirmed."},"start":{"type":"object","properties":{"status":{"type":"string","enum":["started","waiting_for_body","refused"],"description":"started: its generation runs or ran (generationId); waiting_for_body: it starts by itself once the body it reuses is generated; refused: the start was refused (code)."},"code":{"nullable":true,"description":"Why the start was refused, e.g. AI_QUOTA_EXCEEDED or STUDIO_ESTIMATE_CHANGED; null otherwise.","type":"string"},"generationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."}},"required":["status","code","generationId"],"additionalProperties":false},"video":{"nullable":true,"description":"Null when the variant video was deleted.","type":"object","properties":{"status":{"type":"string","enum":["drafting","draft","generating","ready","failed"],"description":"The variant video's status: ready once generated and exported."},"currentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."}},"required":["status","currentVersionId"],"additionalProperties":false},"recovery":{"nullable":true,"description":"The next step for a refused start: quote and start the variant video yourself.","type":"object","properties":{"operation":{"type":"string","description":"The operation that resolves the result."},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"Arguments the next call takes as they are."},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Arguments the caller still has to choose."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"placements":{"type":"array","items":{"type":"object","properties":{"placement":{"type":"string","enum":["vertical","feed","square"],"description":"vertical: 9:16 1080×1920 for Reels, TikTok, Stories and Shorts, text kept clear of both apps' interface; feed: 4:5 1080×1350 for the Instagram and Facebook feed; square: 1:1."},"aspectRatio":{"type":"string","enum":["9:16","4:5","1:1"],"description":"The frame the placement renders, at 1080p."},"status":{"type":"string","enum":["not_exported","rendering","render_failed","checking","regenerating","passed","failed","error"],"description":"not_exported; rendering; render_failed; checking (rendered, the ad QC run has not finished); regenerating (failing scenes are generated again); passed (the ad may be shown, downloaded and published); failed (a check failed, no automatic regeneration left); error (the QC gate could not run)."},"capabilities":{"type":"object","properties":{"canShow":{"type":"boolean","description":"Play the rendered ad: only once its QC run passed."},"canDownload":{"type":"boolean","description":"Download it with studio.exports.downloadUrl.get: only once its QC run passed."},"canPublish":{"type":"boolean","description":"Post it with studio.posts.create: its QC run passed and the caller manages Studio."},"canExport":{"type":"boolean","description":"Render the placement (again) with studio.exports.start { placement }: no usable export, or the gate could not run."}},"required":["canShow","canDownload","canPublish","canExport"],"additionalProperties":false},"export":{"nullable":true,"description":"The newest export of this placement of the version; null before the first.","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"scope":{"type":"string","enum":["video","scene"]},"sceneId":{"nullable":true,"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"placement":{"nullable":true,"description":"The ad placement this export renders (vertical 9:16, feed 4:5, square 1:1, all 1080p); null for a scene export or a version without an ad layout.","type":"string","enum":["vertical","feed","square"]},"origin":{"type":"string","enum":["auto","user"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"assetId":{"nullable":true,"description":"The rendered MP4 once succeeded.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"durationSeconds":{"nullable":true,"type":"number"},"byteSize":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"syntheticDisclosureApplied":{"type":"boolean","description":"The AI-generated label is burned in: the account Studio setting syntheticDisclosureEnabled when it rendered; false while queued."},"aiDisclosureRequired":{"type":"boolean","description":"Publishing must label this export as AI-generated (TikTok AIGC label / is_aigc, Meta \"AI info\"): it shows generated footage. True for every ad; false only for an export of uploaded footage alone."},"syntheticPresenter":{"type":"boolean","description":"The export shows a stock AI presenter (studio.presenters.list), a realistic synthetic person; publish it with the AI-generated label."},"adVariantId":{"nullable":true,"description":"The ad hook variant (studio.ads.variants.get) the exported video is, fixed when the export started: publish and attribute performance by it. Null for a video that is no variant.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"brandingApplied":{"type":"boolean"},"failureCode":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","versionId","scope","sceneId","placement","origin","status","assetId","durationSeconds","byteSize","syntheticDisclosureApplied","aiDisclosureRequired","syntheticPresenter","adVariantId","brandingApplied","failureCode","createdAt","completedAt"],"additionalProperties":false},"qc":{"nullable":true,"description":"The QC verdict of that export, with every check; null until the check starts.","type":"object","properties":{"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The ad export (one placement of one version) the run checked."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"placement":{"type":"string","enum":["vertical","feed","square"]},"status":{"type":"string","enum":["running","passed","failed","regenerating","error"],"description":"running; passed (the variant may be shown); regenerating (failing scenes are generated again, and the new ad export is checked); failed (a check failed and no automatic regeneration is left); error (the gate could not run)."},"regenerations":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Automatic regenerations that led to the checked version; one is the limit."},"checks":{"type":"array","items":{"type":"object","properties":{"check":{"type":"string","enum":["hook_legible","end_card_present","presenter_consistent","in_video_text_clean","speech_matches_script","captions_clear_of_ui"]},"status":{"type":"string","enum":["passed","failed","skipped"]},"source":{"type":"string","enum":["vision","transcript","layout"],"description":"vision: the vision model; transcript: the speech transcript; layout: the ad layout guarantees it."},"sceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"description":"The scenes whose footage fails the check."},"reason":{"type":"string"},"transcripts":{"description":"speech_matches_script only: what each transcriber heard in each spoken scene. A scene fails only when every transcriber that heard it hears a mismatch.","type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"hearings":{"type":"array","items":{"type":"object","properties":{"transcriber":{"type":"string","description":"The model that transcribed the clip, e.g. gemini-3.5-transcribe or scribe_v1."},"heard":{"nullable":true,"description":"What it heard; null when it could not transcribe the clip.","type":"string"},"matches":{"nullable":true,"description":"Whether that is the script; null when it could not transcribe the clip (it does not vote).","type":"boolean"},"reason":{"type":"string"}},"required":["transcriber","heard","matches","reason"],"additionalProperties":false}}},"required":["sceneId","hearings"],"additionalProperties":false}}},"required":["check","status","source","sceneIds","reason"],"additionalProperties":false},"description":"One verdict per check, in a fixed order; empty while running."},"failingSceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"description":"The scenes the scene checks blame.","x-moreflow-opaque":{"reason":"Document-local scene ids of the checked version; read them with studio.videos.versions.get."}},"regeneration":{"nullable":true,"type":"object","properties":{"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The retake version of the failing scenes."},"generationId":{"nullable":true,"description":"Its generation; null when the automatic start was refused.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sceneIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."}}},"required":["versionId","generationId","sceneIds"],"additionalProperties":false},"failureCode":{"nullable":true,"description":"Why the run failed or errored, e.g. STUDIO_AD_QC_RETRY_BUDGET_EXHAUSTED or STUDIO_COST_CONFIRMATION_REQUIRED.","type":"string"},"recovery":{"nullable":true,"description":"What to do next when the run did not pass.","type":"object","properties":{"operation":{"type":"string","description":"The operation that resolves the result."},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"Arguments the next call takes as they are."},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Arguments the caller still has to choose."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["exportId","videoId","versionId","placement","status","regenerations","checks","failingSceneIds","regeneration","failureCode","recovery","createdAt","completedAt"],"additionalProperties":false},"recovery":{"nullable":true,"description":"The next step when the placement is not passed and not in progress: render it, retake a failing scene, confirm a regeneration or edit the ad layout.","type":"object","properties":{"operation":{"type":"string","description":"The operation that resolves the result."},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"Arguments the next call takes as they are."},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Arguments the caller still has to choose."}},"required":["operation","args","requiredFields"],"additionalProperties":false}},"required":["placement","aspectRatio","status","capabilities","export","qc","recovery"],"additionalProperties":false},"description":"The variant's placements (vertical, feed, square) with their exports, QC verdicts and capabilities, as studio.ads.delivery.get returns them; only a passed placement may be shown, downloaded or published. Empty before the first generation."}},"required":["id","batchId","control","videoId","baseVideoId","bodyVideoId","position","hook","presenterId","quotedCents","start","video","recovery","createdAt","placements"],"additionalProperties":false},"OperationStudioAdsVariantsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_AD_VARIANT_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsVariantsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetErrorDefinitionSchema0"}}]},"OperationStudioAdsVariantsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetErrorDefinitionSchema1"}}]},"OperationStudioAdsVariantsListInput":{"type":"object","properties":{"batchId":{"description":"The variants of one batch, by position.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"studio.ads.variants.list"}},"videoId":{"description":"The variants made from one base ad, newest first.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"additionalProperties":false},"OperationStudioAdsVariantsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: one hook variant, stable for publishing and performance attribution.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"batchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The batch that created the variant; a control is registered by the first batch made from its base ad and is the control of every later one.","x-moreflow-reference":{"resolver":"studio.ads.variants.list"}},"control":{"type":"boolean","description":"The base ad itself (videoId is the base): the control the hook variants are measured against. It costs nothing, generates nothing, and its exports carry its id like every variant's."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The variant's own ad video: generations, exports, QC and posts are its own (studio.ads.delivery.get, studio.posts.create)."},"baseVideoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The ad the batch was made from.","x-moreflow-reference":{"resolver":"studio.videos.get"}},"bodyVideoId":{"nullable":true,"description":"The video whose body takes this variant reuses; null when it generates its own body.","x-moreflow-reference":{"resolver":"studio.videos.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Order within its batch: 0 is the control, hook variants from 1."},"hook":{"type":"string","description":"The hook the variant says and shows as its headline."},"presenterId":{"nullable":true,"description":"The stock presenter who speaks the variant; null for an ad without one.","x-moreflow-reference":{"resolver":"studio.presenters.get"},"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"},"quotedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What the variant's generation was quoted at when the batch was confirmed."},"start":{"type":"object","properties":{"status":{"type":"string","enum":["started","waiting_for_body","refused"],"description":"started: its generation runs or ran (generationId); waiting_for_body: it starts by itself once the body it reuses is generated; refused: the start was refused (code)."},"code":{"nullable":true,"description":"Why the start was refused, e.g. AI_QUOTA_EXCEEDED or STUDIO_ESTIMATE_CHANGED; null otherwise.","type":"string"},"generationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."}},"required":["status","code","generationId"],"additionalProperties":false},"video":{"nullable":true,"description":"Null when the variant video was deleted.","type":"object","properties":{"status":{"type":"string","enum":["drafting","draft","generating","ready","failed"],"description":"The variant video's status: ready once generated and exported."},"currentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."}},"required":["status","currentVersionId"],"additionalProperties":false},"recovery":{"nullable":true,"description":"The next step for a refused start: quote and start the variant video yourself.","type":"object","properties":{"operation":{"type":"string","description":"The operation that resolves the result."},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"Arguments the next call takes as they are."},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Arguments the caller still has to choose."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","batchId","control","videoId","baseVideoId","bodyVideoId","position","hook","presenterId","quotedCents","start","video","recovery","createdAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioAdsVariantsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsVariantsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListErrorDefinitionSchema0"}}]},"OperationStudioAdsVariantsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListErrorDefinitionSchema1"}}]},"OperationStudioAdsVariantsPerformanceGetInput":{"type":"object","properties":{"variantId":{"description":"One variant.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"batchId":{"description":"Every variant of a batch.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"studio.ads.variants.list"}},"videoId":{"description":"Every variant made from this base ad.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dateFrom":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","description":"First calendar day of the window, inclusive."},"dateTo":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","description":"Last calendar day of the window, inclusive; at most 365 days after dateFrom."}},"required":["dateFrom","dateTo"],"additionalProperties":false},"OperationStudioAdsVariantsPerformanceGetOutput":{"type":"object","properties":{"dateFrom":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"dateTo":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"platforms":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","enum":["read","not_published","unavailable"],"description":"read; not_published (no ad on it); unavailable (the read failed: code, message, recovery)."},"code":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"recovery":{"nullable":true,"type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"The recovery's text arguments."},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false},"platform":{"type":"string","enum":["meta_ads","tiktok_ads"],"description":"meta_ads: Facebook and Instagram (9:16 Reels and Stories, 4:5 feed, 1:1 optional); tiktok_ads: TikTok (9:16 only)."},"adCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"hookViewDefinition":{"type":"string","description":"What the platform counts as a hook view."}},"required":["status","code","message","recovery","platform","adCount","hookViewDefinition"],"additionalProperties":false}},"attribution":{"type":"object","properties":{"status":{"type":"string","enum":["read","not_published","unavailable"],"description":"read; not_published (no ad on it); unavailable (the read failed: code, message, recovery)."},"code":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"recovery":{"nullable":true,"type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"The recovery's text arguments."},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation","args","requiredFields"],"additionalProperties":false},"complete":{"nullable":true,"description":"False when the CRM read hit its bound; null when not read.","type":"boolean"}},"required":["status","code","message","recovery","complete"],"additionalProperties":false},"variants":{"type":"array","items":{"type":"object","properties":{"variantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: one hook variant, stable for publishing and performance attribution.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"batchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant batch id: the variants of one studio.ads.variants.create call.","x-moreflow-reference":{"resolver":"studio.ads.variants.list"}},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"hook":{"type":"string"},"presenterId":{"nullable":true,"x-moreflow-reference":{"resolver":"studio.presenters.get"},"description":"The stock presenter who spoke it; null for none.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"},"formatId":{"nullable":true,"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The format of the ad; null when unknown.","type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"]},"language":{"nullable":true,"description":"The language of the ad; null when unknown.","type":"string","enum":["de","en"]},"trackingTag":{"type":"string"},"ads":{"type":"array","items":{"type":"object","properties":{"publication":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad publication id: one provider ad of a variant."},"variantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: one hook variant, stable for publishing and performance attribution.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"placement":{"type":"string","enum":["vertical","feed","square"],"description":"vertical: 9:16 1080×1920 for Reels, TikTok, Stories and Shorts, text kept clear of both apps' interface; feed: 4:5 1080×1350 for the Instagram and Facebook feed; square: 1:1."},"platform":{"type":"string","enum":["meta_ads","tiktok_ads"],"description":"meta_ads: Facebook and Instagram (9:16 Reels and Stories, 4:5 feed, 1:1 optional); tiktok_ads: TikTok (9:16 only)."},"providerAccountId":{"nullable":true,"description":"Meta ad account or TikTok advertiser id; null when not given.","type":"string"},"adId":{"type":"string","x-moreflow-opaque":{"reason":"A Meta or TikTok ad or creative id; the provider owns it (read it with marketing.metaAds.ads.detail or marketing.tiktokAds.ads.detail)."},"description":"The provider ad id (Meta ad id, TikTok ad id)."},"creativeId":{"nullable":true,"description":"The Meta creative id; null on TikTok.","x-moreflow-opaque":{"reason":"A Meta creative id; the provider owns it."},"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","variantId","videoId","exportId","placement","platform","providerAccountId","adId","creativeId","createdAt","updatedAt"],"additionalProperties":false},"metrics":{"nullable":true,"description":"Null when the platform read failed or returned no row for the ad.","type":"object","properties":{"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":0,"maximum":9007199254740991},"spendCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"In the ad account's currency."},"hookViews":{"nullable":true,"description":"Meta: 3-second video plays; TikTok: 2-second views.","type":"integer","minimum":0,"maximum":9007199254740991},"platformLeads":{"nullable":true,"description":"Meta lead actions; null on TikTok, which reports no leads.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["impressions","clicks","spendCents","hookViews","platformLeads"],"additionalProperties":false}},"required":["publication","metrics"],"additionalProperties":false}},"metrics":{"type":"object","properties":{"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991},"clicks":{"type":"integer","minimum":0,"maximum":9007199254740991},"spendCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"ctr":{"nullable":true,"description":"clicks / impressions (0-1).","type":"number","minimum":0},"hookViews":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"hookRate":{"nullable":true,"description":"hookViews / impressions of the ads that report hook views (0-1): Meta 3-second plays, TikTok 2-second views.","type":"number","minimum":0},"platformLeads":{"nullable":true,"description":"Leads the platforms report (Meta only).","type":"integer","minimum":0,"maximum":9007199254740991},"leads":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"CRM-attributed leads: distinct clients whose touch in the window came from the variant's ads (ad id) or tagged landing URL (utm_content)."},"dealsCreated":{"type":"integer","minimum":0,"maximum":9007199254740991},"dealsWon":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Deals credited to those touches that are won to date."},"wonValue":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string"},"amountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["currency","amountCents"],"additionalProperties":false}},"cplCents":{"nullable":true,"description":"spendCents / leads.","type":"integer","minimum":0,"maximum":9007199254740991},"costPerWonDealCents":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["impressions","clicks","spendCents","ctr","hookViews","hookRate","platformLeads","leads","dealsCreated","dealsWon","wonValue","cplCents","costPerWonDealCents"],"additionalProperties":false}},"required":["variantId","batchId","videoId","hook","presenterId","formatId","language","trackingTag","ads","metrics"],"additionalProperties":false}}},"required":["dateFrom","dateTo","platforms","attribution","variants"],"additionalProperties":false},"OperationStudioAdsVariantsPerformanceGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_AD_VARIANT_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsVariantsPerformanceGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetErrorDefinitionSchema0"}}]},"OperationStudioAdsVariantsPerformanceGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetErrorDefinitionSchema1"}}]},"OperationStudioAdsVariantsPublicationsCreateInput":{"type":"object","properties":{"variantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: one hook variant, stable for publishing and performance attribution.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The QC-passed placement export the ad's creative was made from (studio.ads.variants.creatives.list exportId)."},"platform":{"type":"string","enum":["meta_ads","tiktok_ads"],"description":"meta_ads: Facebook and Instagram (9:16 Reels and Stories, 4:5 feed, 1:1 optional); tiktok_ads: TikTok (9:16 only)."},"adId":{"type":"string","pattern":"^\\d{1,64}$","x-moreflow-opaque":{"reason":"A Meta or TikTok ad or creative id; the provider owns it (read it with marketing.metaAds.ads.detail or marketing.tiktokAds.ads.detail)."},"description":"The id marketing.metaAds.ads.create or marketing.tiktokAds.ads.create returned (resourceId)."},"creativeId":{"description":"Meta only: the id marketing.metaAds.creatives.create returned.","type":"string","pattern":"^\\d{1,64}$","x-moreflow-opaque":{"reason":"A Meta or TikTok ad or creative id; the provider owns it (read it with marketing.metaAds.ads.detail or marketing.tiktokAds.ads.detail)."}},"providerAccountId":{"description":"The Meta ad account (act_…) or TikTok advertiser id the ad belongs to.","type":"string","minLength":1,"maxLength":64},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["variantId","exportId","platform","adId"],"additionalProperties":false},"OperationStudioAdsVariantsPublicationsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad publication id: one provider ad of a variant."},"variantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: one hook variant, stable for publishing and performance attribution.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"placement":{"type":"string","enum":["vertical","feed","square"],"description":"vertical: 9:16 1080×1920 for Reels, TikTok, Stories and Shorts, text kept clear of both apps' interface; feed: 4:5 1080×1350 for the Instagram and Facebook feed; square: 1:1."},"platform":{"type":"string","enum":["meta_ads","tiktok_ads"],"description":"meta_ads: Facebook and Instagram (9:16 Reels and Stories, 4:5 feed, 1:1 optional); tiktok_ads: TikTok (9:16 only)."},"providerAccountId":{"nullable":true,"description":"Meta ad account or TikTok advertiser id; null when not given.","type":"string"},"adId":{"type":"string","x-moreflow-opaque":{"reason":"A Meta or TikTok ad or creative id; the provider owns it (read it with marketing.metaAds.ads.detail or marketing.tiktokAds.ads.detail)."},"description":"The provider ad id (Meta ad id, TikTok ad id)."},"creativeId":{"nullable":true,"description":"The Meta creative id; null on TikTok.","x-moreflow-opaque":{"reason":"A Meta creative id; the provider owns it."},"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","variantId","videoId","exportId","placement","platform","providerAccountId","adId","creativeId","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioAdsVariantsPublicationsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_AD_VARIANT_NOT_FOUND","STUDIO_EXPORT_NOT_FOUND","STUDIO_AD_EXPORT_NOT_OF_VARIANT","STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM","STUDIO_AD_QC_NOT_PASSED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsVariantsPublicationsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateErrorDefinitionSchema0"}}]},"OperationStudioAdsVariantsPublicationsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateErrorDefinitionSchema1"}}]},"OperationStudioAdsVariantsPublicationsListInput":{"type":"object","properties":{"variantId":{"description":"The ads of one variant.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"batchId":{"description":"The ads of every variant of a batch.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"studio.ads.variants.list"}}},"additionalProperties":false},"OperationStudioAdsVariantsPublicationsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad publication id: one provider ad of a variant."},"variantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: one hook variant, stable for publishing and performance attribution.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"placement":{"type":"string","enum":["vertical","feed","square"],"description":"vertical: 9:16 1080×1920 for Reels, TikTok, Stories and Shorts, text kept clear of both apps' interface; feed: 4:5 1080×1350 for the Instagram and Facebook feed; square: 1:1."},"platform":{"type":"string","enum":["meta_ads","tiktok_ads"],"description":"meta_ads: Facebook and Instagram (9:16 Reels and Stories, 4:5 feed, 1:1 optional); tiktok_ads: TikTok (9:16 only)."},"providerAccountId":{"nullable":true,"description":"Meta ad account or TikTok advertiser id; null when not given.","type":"string"},"adId":{"type":"string","x-moreflow-opaque":{"reason":"A Meta or TikTok ad or creative id; the provider owns it (read it with marketing.metaAds.ads.detail or marketing.tiktokAds.ads.detail)."},"description":"The provider ad id (Meta ad id, TikTok ad id)."},"creativeId":{"nullable":true,"description":"The Meta creative id; null on TikTok.","x-moreflow-opaque":{"reason":"A Meta creative id; the provider owns it."},"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","variantId","videoId","exportId","placement","platform","providerAccountId","adId","creativeId","createdAt","updatedAt"],"additionalProperties":false}}},"required":["items"],"additionalProperties":false},"OperationStudioAdsVariantsPublicationsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsVariantsPublicationsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListErrorDefinitionSchema0"}}]},"OperationStudioAdsVariantsPublicationsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListErrorDefinitionSchema1"}}]},"OperationStudioAdsVariantsWinnersListInput":{"type":"object","properties":{"batchId":{"description":"Rank the variants of one batch.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-moreflow-reference":{"resolver":"studio.ads.variants.list"}},"videoId":{"description":"Rank the variants made from one base ad.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"dateFrom":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","description":"First calendar day of the window, inclusive."},"dateTo":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","description":"Last calendar day of the window, inclusive; at most 365 days after dateFrom."},"rankBy":{"default":"leads","description":"deals_won, leads (CRM-attributed), cpl (lowest first), hook_rate or ctr; ties fall through the others in that order.","type":"string","enum":["deals_won","leads","cpl","hook_rate","ctr"]},"minImpressions":{"default":500,"description":"Leave out variants with fewer impressions: their rates are noise.","type":"integer","minimum":0,"maximum":1000000},"limit":{"default":6,"type":"integer","minimum":1,"maximum":12}},"required":["dateFrom","dateTo"],"additionalProperties":false},"OperationStudioAdsVariantsWinnersListOutput":{"type":"object","properties":{"dateFrom":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"dateTo":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"rankBy":{"type":"string","enum":["deals_won","leads","cpl","hook_rate","ctr"]},"considered":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Published variants measured before ranking and the impression floor."},"items":{"type":"array","items":{"type":"object","properties":{"variantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio ad variant id: the variant that said the hook.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"}},"hook":{"type":"string","minLength":1,"maxLength":80,"description":"The hook the variant said."},"formatId":{"nullable":true,"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The format of the ad; null when unknown.","type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"]},"presenterId":{"nullable":true,"x-moreflow-reference":{"resolver":"studio.presenters.get"},"description":"The stock presenter who spoke it; null for none.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"},"language":{"nullable":true,"description":"The language of the ad; null when unknown.","type":"string","enum":["de","en"]},"metrics":{"type":"object","properties":{"impressions":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How often the variant was shown."},"spendCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Ad spend on the variant, in cents."},"ctr":{"nullable":true,"description":"Clicks / impressions, 0 to 1; null without impressions.","type":"number","minimum":0,"maximum":1},"hookRate":{"nullable":true,"description":"Thumb-stop views / impressions, 0 to 1 (Meta 3-second video views, TikTok 2-second views); null when the platform reports none.","type":"number","minimum":0,"maximum":1},"cplCents":{"nullable":true,"description":"Spend per CRM-attributed lead, in cents; null without leads.","type":"integer","minimum":0,"maximum":9007199254740991},"leads":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"CRM-attributed leads."},"dealsWon":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"CRM-attributed deals won."}},"required":["impressions","spendCents","ctr","hookRate","cplCents","leads","dealsWon"],"additionalProperties":false,"description":"How the variant performed."}},"required":["variantId","hook","formatId","presenterId","language","metrics"],"additionalProperties":false},"description":"Best first; pass them as the winning hooks of the next batch's hook proposals."},"incomplete":{"type":"array","items":{"type":"string"},"description":"Sources that could not be read (meta_ads, tiktok_ads, crm): the ranking leaves their numbers out. Read studio.ads.variants.performance.get for their recovery."}},"required":["dateFrom","dateTo","rankBy","considered","items","incomplete"],"additionalProperties":false},"OperationStudioAdsVariantsWinnersListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioAdsVariantsWinnersListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListErrorDefinitionSchema0"}}]},"OperationStudioAdsVariantsWinnersListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListErrorDefinitionSchema1"}}]},"OperationStudioCharactersArchiveInput":{"type":"object","properties":{"characterId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["characterId"],"additionalProperties":false},"OperationStudioCharactersArchiveOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["active","archived"]},"lookProfile":{"nullable":true,"type":"object","properties":{"physicalDescription":{"type":"string","minLength":1,"maxLength":2000},"wardrobe":{"type":"string","minLength":1,"maxLength":2000},"background":{"type":"string","minLength":1,"maxLength":2000},"lighting":{"type":"string","minLength":1,"maxLength":2000},"framing":{"type":"string","minLength":1,"maxLength":2000},"colourGrade":{"type":"string","minLength":1,"maxLength":2000},"energyPace":{"type":"string","minLength":1,"maxLength":2000},"reviewed":{"type":"boolean"},"version":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["physicalDescription","wardrobe","background","lighting","framing","colourGrade","energyPace","reviewed","version","updatedAt"],"additionalProperties":false},"references":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Character reference id."},"storageObjectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Storage object id."},"kind":{"type":"string","enum":["photo","clip"]},"pose":{"nullable":true,"type":"string","enum":["front","three_quarter","profile"]},"quality":{"type":"string","enum":["good","usable","poor"]},"primary":{"type":"boolean"},"consentVersion":{"nullable":true,"description":"Clip references only: creator_face_clip_consent_v1.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","storageObjectId","kind","pose","quality","primary","consentVersion","createdAt"],"additionalProperties":false}},"likeness":{"nullable":true,"type":"object","properties":{"status":{"type":"string","enum":["none","creating","pending","asset_processing","verified","failed","expired","erasure_pending"]},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"assetCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastError":{"nullable":true,"type":"string"},"sessionExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"requiredConsentVersion":{"type":"string","enum":["byteplus_likeness_consent_v2"]}},"required":["status","verifiedAt","assetCount","lastError","sessionExpiresAt","requiredConsentVersion"],"additionalProperties":false},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","description","status","lookProfile","references","likeness","canManage","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioCharactersArchiveError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_CHARACTER_NOT_FOUND","STUDIO_CHARACTER_NAME_TAKEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioCharactersArchiveErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveErrorDefinitionSchema0"}}]},"OperationStudioCharactersArchiveErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveErrorDefinitionSchema1"}}]},"OperationStudioCharactersCreateInput":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"Unique among active characters, case-insensitive; mention it as @Name."},"description":{"nullable":true,"type":"string","minLength":1,"maxLength":2000},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["name"],"additionalProperties":false},"OperationStudioCharactersCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["active","archived"]},"lookProfile":{"nullable":true,"type":"object","properties":{"physicalDescription":{"type":"string","minLength":1,"maxLength":2000},"wardrobe":{"type":"string","minLength":1,"maxLength":2000},"background":{"type":"string","minLength":1,"maxLength":2000},"lighting":{"type":"string","minLength":1,"maxLength":2000},"framing":{"type":"string","minLength":1,"maxLength":2000},"colourGrade":{"type":"string","minLength":1,"maxLength":2000},"energyPace":{"type":"string","minLength":1,"maxLength":2000},"reviewed":{"type":"boolean"},"version":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["physicalDescription","wardrobe","background","lighting","framing","colourGrade","energyPace","reviewed","version","updatedAt"],"additionalProperties":false},"references":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Character reference id."},"storageObjectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Storage object id."},"kind":{"type":"string","enum":["photo","clip"]},"pose":{"nullable":true,"type":"string","enum":["front","three_quarter","profile"]},"quality":{"type":"string","enum":["good","usable","poor"]},"primary":{"type":"boolean"},"consentVersion":{"nullable":true,"description":"Clip references only: creator_face_clip_consent_v1.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","storageObjectId","kind","pose","quality","primary","consentVersion","createdAt"],"additionalProperties":false}},"likeness":{"nullable":true,"type":"object","properties":{"status":{"type":"string","enum":["none","creating","pending","asset_processing","verified","failed","expired","erasure_pending"]},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"assetCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastError":{"nullable":true,"type":"string"},"sessionExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"requiredConsentVersion":{"type":"string","enum":["byteplus_likeness_consent_v2"]}},"required":["status","verifiedAt","assetCount","lastError","sessionExpiresAt","requiredConsentVersion"],"additionalProperties":false},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","description","status","lookProfile","references","likeness","canManage","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioCharactersCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_CHARACTER_NAME_TAKEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioCharactersCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersCreateErrorDefinitionSchema0"}}]},"OperationStudioCharactersCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersCreateErrorDefinitionSchema1"}}]},"OperationStudioCharactersDeleteInput":{"type":"object","properties":{"characterId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["characterId"],"additionalProperties":false},"OperationStudioCharactersDeleteOutput":{"type":"object","properties":{},"additionalProperties":false},"OperationStudioCharactersDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_CHARACTER_NOT_FOUND","STUDIO_LIKENESS_ERASURE_PENDING"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioCharactersDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteErrorDefinitionSchema0"}}]},"OperationStudioCharactersDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteErrorDefinitionSchema1"}}]},"OperationStudioCharactersGetInput":{"type":"object","properties":{"characterId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."}},"required":["characterId"],"additionalProperties":false},"OperationStudioCharactersGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["active","archived"]},"lookProfile":{"nullable":true,"type":"object","properties":{"physicalDescription":{"type":"string","minLength":1,"maxLength":2000},"wardrobe":{"type":"string","minLength":1,"maxLength":2000},"background":{"type":"string","minLength":1,"maxLength":2000},"lighting":{"type":"string","minLength":1,"maxLength":2000},"framing":{"type":"string","minLength":1,"maxLength":2000},"colourGrade":{"type":"string","minLength":1,"maxLength":2000},"energyPace":{"type":"string","minLength":1,"maxLength":2000},"reviewed":{"type":"boolean"},"version":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["physicalDescription","wardrobe","background","lighting","framing","colourGrade","energyPace","reviewed","version","updatedAt"],"additionalProperties":false},"references":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Character reference id."},"storageObjectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Storage object id."},"kind":{"type":"string","enum":["photo","clip"]},"pose":{"nullable":true,"type":"string","enum":["front","three_quarter","profile"]},"quality":{"type":"string","enum":["good","usable","poor"]},"primary":{"type":"boolean"},"consentVersion":{"nullable":true,"description":"Clip references only: creator_face_clip_consent_v1.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","storageObjectId","kind","pose","quality","primary","consentVersion","createdAt"],"additionalProperties":false}},"likeness":{"nullable":true,"type":"object","properties":{"status":{"type":"string","enum":["none","creating","pending","asset_processing","verified","failed","expired","erasure_pending"]},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"assetCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastError":{"nullable":true,"type":"string"},"sessionExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"requiredConsentVersion":{"type":"string","enum":["byteplus_likeness_consent_v2"]}},"required":["status","verifiedAt","assetCount","lastError","sessionExpiresAt","requiredConsentVersion"],"additionalProperties":false},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","description","status","lookProfile","references","likeness","canManage","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioCharactersGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_CHARACTER_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioCharactersGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersGetErrorDefinitionSchema0"}}]},"OperationStudioCharactersGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersGetErrorDefinitionSchema1"}}]},"OperationStudioCharactersListInput":{"type":"object","properties":{"status":{"type":"string","enum":["active","archived"]},"projectId":{"description":"Only characters linked to this project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"additionalProperties":false},"OperationStudioCharactersListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["active","archived"]},"lookProfile":{"nullable":true,"type":"object","properties":{"physicalDescription":{"type":"string","minLength":1,"maxLength":2000},"wardrobe":{"type":"string","minLength":1,"maxLength":2000},"background":{"type":"string","minLength":1,"maxLength":2000},"lighting":{"type":"string","minLength":1,"maxLength":2000},"framing":{"type":"string","minLength":1,"maxLength":2000},"colourGrade":{"type":"string","minLength":1,"maxLength":2000},"energyPace":{"type":"string","minLength":1,"maxLength":2000},"reviewed":{"type":"boolean"},"version":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["physicalDescription","wardrobe","background","lighting","framing","colourGrade","energyPace","reviewed","version","updatedAt"],"additionalProperties":false},"references":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Character reference id."},"storageObjectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Storage object id."},"kind":{"type":"string","enum":["photo","clip"]},"pose":{"nullable":true,"type":"string","enum":["front","three_quarter","profile"]},"quality":{"type":"string","enum":["good","usable","poor"]},"primary":{"type":"boolean"},"consentVersion":{"nullable":true,"description":"Clip references only: creator_face_clip_consent_v1.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","storageObjectId","kind","pose","quality","primary","consentVersion","createdAt"],"additionalProperties":false}},"likeness":{"nullable":true,"type":"object","properties":{"status":{"type":"string","enum":["none","creating","pending","asset_processing","verified","failed","expired","erasure_pending"]},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"assetCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastError":{"nullable":true,"type":"string"},"sessionExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"requiredConsentVersion":{"type":"string","enum":["byteplus_likeness_consent_v2"]}},"required":["status","verifiedAt","assetCount","lastError","sessionExpiresAt","requiredConsentVersion"],"additionalProperties":false},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","description","status","lookProfile","references","likeness","canManage","createdBy","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioCharactersListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioCharactersListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersListErrorDefinitionSchema0"}}]},"OperationStudioCharactersListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersListErrorDefinitionSchema1"}}]},"OperationStudioCharactersUnarchiveInput":{"type":"object","properties":{"characterId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["characterId"],"additionalProperties":false},"OperationStudioCharactersUnarchiveOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["active","archived"]},"lookProfile":{"nullable":true,"type":"object","properties":{"physicalDescription":{"type":"string","minLength":1,"maxLength":2000},"wardrobe":{"type":"string","minLength":1,"maxLength":2000},"background":{"type":"string","minLength":1,"maxLength":2000},"lighting":{"type":"string","minLength":1,"maxLength":2000},"framing":{"type":"string","minLength":1,"maxLength":2000},"colourGrade":{"type":"string","minLength":1,"maxLength":2000},"energyPace":{"type":"string","minLength":1,"maxLength":2000},"reviewed":{"type":"boolean"},"version":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["physicalDescription","wardrobe","background","lighting","framing","colourGrade","energyPace","reviewed","version","updatedAt"],"additionalProperties":false},"references":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Character reference id."},"storageObjectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Storage object id."},"kind":{"type":"string","enum":["photo","clip"]},"pose":{"nullable":true,"type":"string","enum":["front","three_quarter","profile"]},"quality":{"type":"string","enum":["good","usable","poor"]},"primary":{"type":"boolean"},"consentVersion":{"nullable":true,"description":"Clip references only: creator_face_clip_consent_v1.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","storageObjectId","kind","pose","quality","primary","consentVersion","createdAt"],"additionalProperties":false}},"likeness":{"nullable":true,"type":"object","properties":{"status":{"type":"string","enum":["none","creating","pending","asset_processing","verified","failed","expired","erasure_pending"]},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"assetCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastError":{"nullable":true,"type":"string"},"sessionExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"requiredConsentVersion":{"type":"string","enum":["byteplus_likeness_consent_v2"]}},"required":["status","verifiedAt","assetCount","lastError","sessionExpiresAt","requiredConsentVersion"],"additionalProperties":false},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","description","status","lookProfile","references","likeness","canManage","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioCharactersUnarchiveError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_CHARACTER_NOT_FOUND","STUDIO_CHARACTER_NAME_TAKEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioCharactersUnarchiveErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveErrorDefinitionSchema0"}}]},"OperationStudioCharactersUnarchiveErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveErrorDefinitionSchema1"}}]},"OperationStudioCharactersUpdateInput":{"type":"object","properties":{"characterId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"name":{"type":"string","minLength":1,"maxLength":120,"description":"Unique among active characters, case-insensitive; mention it as @Name."},"description":{"nullable":true,"type":"string","minLength":1,"maxLength":2000},"lookProfile":{"description":"Saving a look profile marks it reviewed and bumps its version.","nullable":true,"type":"object","properties":{"physicalDescription":{"type":"string","minLength":1,"maxLength":2000},"wardrobe":{"type":"string","minLength":1,"maxLength":2000},"background":{"type":"string","minLength":1,"maxLength":2000},"lighting":{"type":"string","minLength":1,"maxLength":2000},"framing":{"type":"string","minLength":1,"maxLength":2000},"colourGrade":{"type":"string","minLength":1,"maxLength":2000},"energyPace":{"type":"string","minLength":1,"maxLength":2000}},"required":["physicalDescription","wardrobe","background","lighting","framing","colourGrade","energyPace"],"additionalProperties":false},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["characterId"],"additionalProperties":false},"OperationStudioCharactersUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["active","archived"]},"lookProfile":{"nullable":true,"type":"object","properties":{"physicalDescription":{"type":"string","minLength":1,"maxLength":2000},"wardrobe":{"type":"string","minLength":1,"maxLength":2000},"background":{"type":"string","minLength":1,"maxLength":2000},"lighting":{"type":"string","minLength":1,"maxLength":2000},"framing":{"type":"string","minLength":1,"maxLength":2000},"colourGrade":{"type":"string","minLength":1,"maxLength":2000},"energyPace":{"type":"string","minLength":1,"maxLength":2000},"reviewed":{"type":"boolean"},"version":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["physicalDescription","wardrobe","background","lighting","framing","colourGrade","energyPace","reviewed","version","updatedAt"],"additionalProperties":false},"references":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Character reference id."},"storageObjectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Storage object id."},"kind":{"type":"string","enum":["photo","clip"]},"pose":{"nullable":true,"type":"string","enum":["front","three_quarter","profile"]},"quality":{"type":"string","enum":["good","usable","poor"]},"primary":{"type":"boolean"},"consentVersion":{"nullable":true,"description":"Clip references only: creator_face_clip_consent_v1.","type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","storageObjectId","kind","pose","quality","primary","consentVersion","createdAt"],"additionalProperties":false}},"likeness":{"nullable":true,"type":"object","properties":{"status":{"type":"string","enum":["none","creating","pending","asset_processing","verified","failed","expired","erasure_pending"]},"verifiedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"assetCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastError":{"nullable":true,"type":"string"},"sessionExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"requiredConsentVersion":{"type":"string","enum":["byteplus_likeness_consent_v2"]}},"required":["status","verifiedAt","assetCount","lastError","sessionExpiresAt","requiredConsentVersion"],"additionalProperties":false},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","description","status","lookProfile","references","likeness","canManage","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioCharactersUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_CHARACTER_NOT_FOUND","STUDIO_CHARACTER_NAME_TAKEN"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioCharactersUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateErrorDefinitionSchema0"}}]},"OperationStudioCharactersUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateErrorDefinitionSchema1"}}]},"OperationStudioExportsCancelInput":{"type":"object","properties":{"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["exportId"],"additionalProperties":false},"OperationStudioExportsCancelOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"scope":{"type":"string","enum":["video","scene"]},"sceneId":{"nullable":true,"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"placement":{"nullable":true,"description":"The ad placement this export renders (vertical 9:16, feed 4:5, square 1:1, all 1080p); null for a scene export or a version without an ad layout.","type":"string","enum":["vertical","feed","square"]},"origin":{"type":"string","enum":["auto","user"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"assetId":{"nullable":true,"description":"The rendered MP4 once succeeded.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"durationSeconds":{"nullable":true,"type":"number"},"byteSize":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"syntheticDisclosureApplied":{"type":"boolean","description":"The AI-generated label is burned in: the account Studio setting syntheticDisclosureEnabled when it rendered; false while queued."},"aiDisclosureRequired":{"type":"boolean","description":"Publishing must label this export as AI-generated (TikTok AIGC label / is_aigc, Meta \"AI info\"): it shows generated footage. True for every ad; false only for an export of uploaded footage alone."},"syntheticPresenter":{"type":"boolean","description":"The export shows a stock AI presenter (studio.presenters.list), a realistic synthetic person; publish it with the AI-generated label."},"adVariantId":{"nullable":true,"description":"The ad hook variant (studio.ads.variants.get) the exported video is, fixed when the export started: publish and attribute performance by it. Null for a video that is no variant.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"brandingApplied":{"type":"boolean"},"failureCode":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","versionId","scope","sceneId","placement","origin","status","assetId","durationSeconds","byteSize","syntheticDisclosureApplied","aiDisclosureRequired","syntheticPresenter","adVariantId","brandingApplied","failureCode","createdAt","completedAt"],"additionalProperties":false},"OperationStudioExportsCancelError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsCancelErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsCancelErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioExportsCancelErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioExportsCancelErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsCancelErrorDefinitionSchema0"}}]},"OperationStudioExportsCancelErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioExportsCancelErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsCancelErrorDefinitionSchema1"}}]},"OperationStudioExportsDownloadUrlGetInput":{"type":"object","properties":{"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."}},"required":["exportId"],"additionalProperties":false},"OperationStudioExportsDownloadUrlGetOutput":{"type":"object","properties":{"id":{"type":"string","description":"The export whose rendered MP4 the link downloads."},"url":{"type":"string","format":"uri"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fileName":{"type":"string"}},"required":["id","url","expiresAt","fileName"],"additionalProperties":false},"OperationStudioExportsDownloadUrlGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioExportsDownloadUrlGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetErrorDefinitionSchema0"}}]},"OperationStudioExportsDownloadUrlGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetErrorDefinitionSchema1"}}]},"OperationStudioExportsGetInput":{"type":"object","properties":{"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."}},"required":["exportId"],"additionalProperties":false},"OperationStudioExportsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"scope":{"type":"string","enum":["video","scene"]},"sceneId":{"nullable":true,"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"placement":{"nullable":true,"description":"The ad placement this export renders (vertical 9:16, feed 4:5, square 1:1, all 1080p); null for a scene export or a version without an ad layout.","type":"string","enum":["vertical","feed","square"]},"origin":{"type":"string","enum":["auto","user"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"assetId":{"nullable":true,"description":"The rendered MP4 once succeeded.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"durationSeconds":{"nullable":true,"type":"number"},"byteSize":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"syntheticDisclosureApplied":{"type":"boolean","description":"The AI-generated label is burned in: the account Studio setting syntheticDisclosureEnabled when it rendered; false while queued."},"aiDisclosureRequired":{"type":"boolean","description":"Publishing must label this export as AI-generated (TikTok AIGC label / is_aigc, Meta \"AI info\"): it shows generated footage. True for every ad; false only for an export of uploaded footage alone."},"syntheticPresenter":{"type":"boolean","description":"The export shows a stock AI presenter (studio.presenters.list), a realistic synthetic person; publish it with the AI-generated label."},"adVariantId":{"nullable":true,"description":"The ad hook variant (studio.ads.variants.get) the exported video is, fixed when the export started: publish and attribute performance by it. Null for a video that is no variant.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"brandingApplied":{"type":"boolean"},"failureCode":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","versionId","scope","sceneId","placement","origin","status","assetId","durationSeconds","byteSize","syntheticDisclosureApplied","aiDisclosureRequired","syntheticPresenter","adVariantId","brandingApplied","failureCode","createdAt","completedAt"],"additionalProperties":false},"OperationStudioExportsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioExportsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioExportsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsGetErrorDefinitionSchema0"}}]},"OperationStudioExportsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioExportsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsGetErrorDefinitionSchema1"}}]},"OperationStudioExportsListInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"required":["videoId"],"additionalProperties":false},"OperationStudioExportsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"scope":{"type":"string","enum":["video","scene"]},"sceneId":{"nullable":true,"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"placement":{"nullable":true,"description":"The ad placement this export renders (vertical 9:16, feed 4:5, square 1:1, all 1080p); null for a scene export or a version without an ad layout.","type":"string","enum":["vertical","feed","square"]},"origin":{"type":"string","enum":["auto","user"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"assetId":{"nullable":true,"description":"The rendered MP4 once succeeded.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"durationSeconds":{"nullable":true,"type":"number"},"byteSize":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"syntheticDisclosureApplied":{"type":"boolean","description":"The AI-generated label is burned in: the account Studio setting syntheticDisclosureEnabled when it rendered; false while queued."},"aiDisclosureRequired":{"type":"boolean","description":"Publishing must label this export as AI-generated (TikTok AIGC label / is_aigc, Meta \"AI info\"): it shows generated footage. True for every ad; false only for an export of uploaded footage alone."},"syntheticPresenter":{"type":"boolean","description":"The export shows a stock AI presenter (studio.presenters.list), a realistic synthetic person; publish it with the AI-generated label."},"adVariantId":{"nullable":true,"description":"The ad hook variant (studio.ads.variants.get) the exported video is, fixed when the export started: publish and attribute performance by it. Null for a video that is no variant.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"brandingApplied":{"type":"boolean"},"failureCode":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","versionId","scope","sceneId","placement","origin","status","assetId","durationSeconds","byteSize","syntheticDisclosureApplied","aiDisclosureRequired","syntheticPresenter","adVariantId","brandingApplied","failureCode","createdAt","completedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioExportsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioExportsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioExportsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsListErrorDefinitionSchema0"}}]},"OperationStudioExportsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioExportsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsListErrorDefinitionSchema1"}}]},"OperationStudioExportsStartInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"description":"Defaults to the current version.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sceneId":{"description":"Export this scene only (a single-clip download).","type":"string","minLength":1,"maxLength":120},"placement":{"description":"For a version with an ad layout: the placement to render, vertical by default. Start one export per placement to get 9:16 and 4:5 from one ad.","type":"string","enum":["vertical","feed","square"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId"],"additionalProperties":false},"OperationStudioExportsStartOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"scope":{"type":"string","enum":["video","scene"]},"sceneId":{"nullable":true,"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"placement":{"nullable":true,"description":"The ad placement this export renders (vertical 9:16, feed 4:5, square 1:1, all 1080p); null for a scene export or a version without an ad layout.","type":"string","enum":["vertical","feed","square"]},"origin":{"type":"string","enum":["auto","user"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"assetId":{"nullable":true,"description":"The rendered MP4 once succeeded.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"durationSeconds":{"nullable":true,"type":"number"},"byteSize":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"syntheticDisclosureApplied":{"type":"boolean","description":"The AI-generated label is burned in: the account Studio setting syntheticDisclosureEnabled when it rendered; false while queued."},"aiDisclosureRequired":{"type":"boolean","description":"Publishing must label this export as AI-generated (TikTok AIGC label / is_aigc, Meta \"AI info\"): it shows generated footage. True for every ad; false only for an export of uploaded footage alone."},"syntheticPresenter":{"type":"boolean","description":"The export shows a stock AI presenter (studio.presenters.list), a realistic synthetic person; publish it with the AI-generated label."},"adVariantId":{"nullable":true,"description":"The ad hook variant (studio.ads.variants.get) the exported video is, fixed when the export started: publish and attribute performance by it. Null for a video that is no variant.","x-moreflow-reference":{"resolver":"studio.ads.variants.get"},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"brandingApplied":{"type":"boolean"},"failureCode":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","versionId","scope","sceneId","placement","origin","status","assetId","durationSeconds","byteSize","syntheticDisclosureApplied","aiDisclosureRequired","syntheticPresenter","adVariantId","brandingApplied","failureCode","createdAt","completedAt"],"additionalProperties":false},"OperationStudioExportsStartError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsStartErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsStartErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioExportsStartErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioExportsStartErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsStartErrorDefinitionSchema0"}}]},"OperationStudioExportsStartErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioExportsStartErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioExportsStartErrorDefinitionSchema1"}}]},"OperationStudioGenerationsCancelInput":{"type":"object","properties":{"generationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["generationId"],"additionalProperties":false},"OperationStudioGenerationsCancelOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"trigger":{"type":"string","enum":["initial","change","editor"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"scenes":{"type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string"},"takeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio scene take id."},"reused":{"type":"boolean"},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"],"description":"Live status of the take; a reused take is succeeded."},"waitsForSceneId":{"nullable":true,"description":"The earlier scene this continuing clip waits for: it starts from that clip's last frame, so it is queued until that take succeeds. Null when it does not wait.","type":"string","minLength":1,"maxLength":120}},"required":["sceneId","takeId","reused","estimatedCents","status","waitsForSceneId"],"additionalProperties":false}},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"narration":{"nullable":true,"description":"The narration track this generation synthesizes; null when it synthesizes none.","type":"object","properties":{"trackId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio narration track id.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."}},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"],"description":"Live status of the narration track this generation synthesizes."},"reused":{"type":"boolean","enum":[false],"description":"This generation synthesizes the track; a reused track is not part of a generation."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["trackId","status","reused","estimatedCents"],"additionalProperties":false},"reservedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Credits held: the estimate plus 10% headroom."},"settledCents":{"nullable":true,"description":"Charged once every scene settled; null until then.","type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR"]},"pricingVersion":{"type":"string"},"confirmedBy":{"type":"string","enum":["user","auto_limit"]},"failureCode":{"nullable":true,"type":"string"},"failureRecovery":{"nullable":true,"description":"The next step for a failed generation whose takes share a reason (SCENE_REFERENCE_REJECTED, VIDEO_PROVIDER_UNAVAILABLE); null otherwise.","type":"object","properties":{"operation":{"type":"string","description":"studio.videos.changes.propose for a rejected reference (change the scene without the character); studio.videos.update for a provider outage (choose another quality, then studio.generations.estimate for a new quote); studio.videos.scenes.narration.retry for a take whose voice-over is missing (narrate its stored clip again, then quote and start); studio.videos.scenes.retry for a dialog take whose clip misspeaks its lines (a fresh take of the scene, then quote and start)."},"args":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneId":{"description":"The scene to act on, when the failure names it (a take's own scene); otherwise it is listed in requiredFields.","type":"string","minLength":1,"maxLength":120}},"required":["videoId"],"additionalProperties":false},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Input the caller still provides before it calls the operation."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","versionId","trigger","status","scenes","estimatedCents","narration","reservedCents","settledCents","currency","pricingVersion","confirmedBy","failureCode","failureRecovery","createdAt","startedAt","completedAt"],"additionalProperties":false},"OperationStudioGenerationsCancelError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioGenerationsCancelErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelErrorDefinitionSchema0"}}]},"OperationStudioGenerationsCancelErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelErrorDefinitionSchema1"}}]},"OperationStudioGenerationsEstimateInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"description":"Defaults to the newest drafted version.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"quality":{"description":"Quote the version as if switched to this quality, without switching it (the studio.videos.update quality patch). Omit to quote the version as it is.","type":"string","enum":["standard","pro","custom"]},"videoModel":{"description":"Quote the custom quality on this model (alone it implies quality custom).","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"resolution":{"description":"Quote this output resolution; one the quoted quality offers. Without it a quoted quality keeps the video's resolution while it offers it, else its default.","type":"string","enum":["480p","720p","1080p"]}},"required":["videoId"],"additionalProperties":false},"OperationStudioGenerationsEstimateOutput":{"type":"object","properties":{"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"scenes":{"type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string"},"reused":{"type":"boolean","description":"A succeeded take with the same fingerprint is reused at no cost."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"model":{"type":"string","description":"Provider models the scene runs on; `reused` for a reused take."},"narrationOnly":{"type":"boolean","description":"The scene keeps the clip of its take and only its missing voice-over is synthesized (a take flagged SCENE_NARRATION_FAILED): estimatedCents is the speech alone and no video is generated."},"continuesFromSceneId":{"nullable":true,"description":"The scene whose clip's last frame this clip starts from; null when the clip does not continue another. A continuing clip sends no reference images (renderInput prompt).","type":"string","minLength":1,"maxLength":120},"renderInput":{"nullable":true,"description":"What the scene renders from (keyframe, likeness, references or prompt); null for image, asset and narration-only scenes. Priced with the reference images it sends: a keyframe scene takes none.","type":"string","enum":["keyframe","references","likeness","prompt"]}},"required":["sceneId","reused","estimatedCents","model","narrationOnly","continuesFromSceneId","renderInput"],"additionalProperties":false}},"narration":{"nullable":true,"description":"The video-level narration track of the version; null when the version has no narration.","type":"object","properties":{"reused":{"type":"boolean","description":"A succeeded narration track of the same script, voice and style is reused at no cost."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What the narration track costs to synthesize; 0 when reused. Included in totalCents."},"model":{"type":"string","description":"The speech model that synthesizes the track."}},"required":["reused","estimatedCents","model"],"additionalProperties":false},"totalCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Pass as expectedTotalCents to studio.generations.start. Covers the scenes and the narration track."},"keyframes":{"description":"Keyframe stills of the quoted scenes, shown separately from the video cost. Absent without the still image model.","type":"object","properties":{"totalCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What the stills of the quoted scenes without a current keyframe cost. Not part of totalCents: a still is never credited against the take."},"scenes":{"type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string"},"state":{"type":"string","enum":["none","current","stale"],"description":"Keyframe state before the quote; a current keyframe is reused at no cost."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["sceneId","state","estimatedCents"],"additionalProperties":false}}},"required":["totalCents","scenes"],"additionalProperties":false},"currency":{"type":"string","enum":["EUR"]},"pricingVersion":{"type":"string"},"autoStartEligible":{"type":"boolean","description":"A start without confirmation is accepted: not the first generation and at or under the limit."},"limitCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The account auto-start limit (studio.settings.get)."},"confirmationRequired":{"type":"boolean","description":"studio.generations.start needs confirmed: true."},"qualitySwitch":{"description":"Present when quality, videoModel or resolution was given: the quality this quote prices, which the version is not switched to. Apply it with studio.videos.update (it appends a quality_switch version), then start that version (the video's latestVersionId) with this totalCents.","type":"object","properties":{"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The custom model; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"resolution":{"type":"string","enum":["480p","720p","1080p"],"description":"The output resolution the switched version renders."}},"required":["quality","videoModel","resolution"],"additionalProperties":false}},"required":["versionId","scenes","narration","totalCents","currency","pricingVersion","autoStartEligible","limitCents","confirmationRequired"],"additionalProperties":false},"OperationStudioGenerationsEstimateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_VIDEO_MODEL_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioGenerationsEstimateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateErrorDefinitionSchema0"}}]},"OperationStudioGenerationsEstimateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateErrorDefinitionSchema1"}}]},"OperationStudioGenerationsGetInput":{"type":"object","properties":{"generationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."}},"required":["generationId"],"additionalProperties":false},"OperationStudioGenerationsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"trigger":{"type":"string","enum":["initial","change","editor"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"scenes":{"type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string"},"takeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio scene take id."},"reused":{"type":"boolean"},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"],"description":"Live status of the take; a reused take is succeeded."},"waitsForSceneId":{"nullable":true,"description":"The earlier scene this continuing clip waits for: it starts from that clip's last frame, so it is queued until that take succeeds. Null when it does not wait.","type":"string","minLength":1,"maxLength":120}},"required":["sceneId","takeId","reused","estimatedCents","status","waitsForSceneId"],"additionalProperties":false}},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"narration":{"nullable":true,"description":"The narration track this generation synthesizes; null when it synthesizes none.","type":"object","properties":{"trackId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio narration track id.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."}},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"],"description":"Live status of the narration track this generation synthesizes."},"reused":{"type":"boolean","enum":[false],"description":"This generation synthesizes the track; a reused track is not part of a generation."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["trackId","status","reused","estimatedCents"],"additionalProperties":false},"reservedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Credits held: the estimate plus 10% headroom."},"settledCents":{"nullable":true,"description":"Charged once every scene settled; null until then.","type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR"]},"pricingVersion":{"type":"string"},"confirmedBy":{"type":"string","enum":["user","auto_limit"]},"failureCode":{"nullable":true,"type":"string"},"failureRecovery":{"nullable":true,"description":"The next step for a failed generation whose takes share a reason (SCENE_REFERENCE_REJECTED, VIDEO_PROVIDER_UNAVAILABLE); null otherwise.","type":"object","properties":{"operation":{"type":"string","description":"studio.videos.changes.propose for a rejected reference (change the scene without the character); studio.videos.update for a provider outage (choose another quality, then studio.generations.estimate for a new quote); studio.videos.scenes.narration.retry for a take whose voice-over is missing (narrate its stored clip again, then quote and start); studio.videos.scenes.retry for a dialog take whose clip misspeaks its lines (a fresh take of the scene, then quote and start)."},"args":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneId":{"description":"The scene to act on, when the failure names it (a take's own scene); otherwise it is listed in requiredFields.","type":"string","minLength":1,"maxLength":120}},"required":["videoId"],"additionalProperties":false},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Input the caller still provides before it calls the operation."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","versionId","trigger","status","scenes","estimatedCents","narration","reservedCents","settledCents","currency","pricingVersion","confirmedBy","failureCode","failureRecovery","createdAt","startedAt","completedAt"],"additionalProperties":false},"OperationStudioGenerationsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioGenerationsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioGenerationsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsGetErrorDefinitionSchema0"}}]},"OperationStudioGenerationsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioGenerationsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsGetErrorDefinitionSchema1"}}]},"OperationStudioGenerationsListInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"required":["videoId"],"additionalProperties":false},"OperationStudioGenerationsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"trigger":{"type":"string","enum":["initial","change","editor"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"scenes":{"type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string"},"takeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio scene take id."},"reused":{"type":"boolean"},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"],"description":"Live status of the take; a reused take is succeeded."},"waitsForSceneId":{"nullable":true,"description":"The earlier scene this continuing clip waits for: it starts from that clip's last frame, so it is queued until that take succeeds. Null when it does not wait.","type":"string","minLength":1,"maxLength":120}},"required":["sceneId","takeId","reused","estimatedCents","status","waitsForSceneId"],"additionalProperties":false}},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"narration":{"nullable":true,"description":"The narration track this generation synthesizes; null when it synthesizes none.","type":"object","properties":{"trackId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio narration track id.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."}},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"],"description":"Live status of the narration track this generation synthesizes."},"reused":{"type":"boolean","enum":[false],"description":"This generation synthesizes the track; a reused track is not part of a generation."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["trackId","status","reused","estimatedCents"],"additionalProperties":false},"reservedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Credits held: the estimate plus 10% headroom."},"settledCents":{"nullable":true,"description":"Charged once every scene settled; null until then.","type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR"]},"pricingVersion":{"type":"string"},"confirmedBy":{"type":"string","enum":["user","auto_limit"]},"failureCode":{"nullable":true,"type":"string"},"failureRecovery":{"nullable":true,"description":"The next step for a failed generation whose takes share a reason (SCENE_REFERENCE_REJECTED, VIDEO_PROVIDER_UNAVAILABLE); null otherwise.","type":"object","properties":{"operation":{"type":"string","description":"studio.videos.changes.propose for a rejected reference (change the scene without the character); studio.videos.update for a provider outage (choose another quality, then studio.generations.estimate for a new quote); studio.videos.scenes.narration.retry for a take whose voice-over is missing (narrate its stored clip again, then quote and start); studio.videos.scenes.retry for a dialog take whose clip misspeaks its lines (a fresh take of the scene, then quote and start)."},"args":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneId":{"description":"The scene to act on, when the failure names it (a take's own scene); otherwise it is listed in requiredFields.","type":"string","minLength":1,"maxLength":120}},"required":["videoId"],"additionalProperties":false},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Input the caller still provides before it calls the operation."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","versionId","trigger","status","scenes","estimatedCents","narration","reservedCents","settledCents","currency","pricingVersion","confirmedBy","failureCode","failureRecovery","createdAt","startedAt","completedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioGenerationsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioGenerationsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioGenerationsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsListErrorDefinitionSchema0"}}]},"OperationStudioGenerationsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioGenerationsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsListErrorDefinitionSchema1"}}]},"OperationStudioGenerationsStartInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"expectedTotalCents":{"type":"integer","minimum":0,"maximum":1000000,"description":"totalCents of the estimate the user saw; a higher recomputed total fails with STUDIO_ESTIMATE_CHANGED."},"confirmed":{"description":"The user confirmed the cost. Always required for the first generation of a video.","type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","versionId","expectedTotalCents"],"additionalProperties":false},"OperationStudioGenerationsStartOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"trigger":{"type":"string","enum":["initial","change","editor"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"scenes":{"type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string"},"takeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio scene take id."},"reused":{"type":"boolean"},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"],"description":"Live status of the take; a reused take is succeeded."},"waitsForSceneId":{"nullable":true,"description":"The earlier scene this continuing clip waits for: it starts from that clip's last frame, so it is queued until that take succeeds. Null when it does not wait.","type":"string","minLength":1,"maxLength":120}},"required":["sceneId","takeId","reused","estimatedCents","status","waitsForSceneId"],"additionalProperties":false}},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"narration":{"nullable":true,"description":"The narration track this generation synthesizes; null when it synthesizes none.","type":"object","properties":{"trackId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio narration track id.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."}},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"],"description":"Live status of the narration track this generation synthesizes."},"reused":{"type":"boolean","enum":[false],"description":"This generation synthesizes the track; a reused track is not part of a generation."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["trackId","status","reused","estimatedCents"],"additionalProperties":false},"reservedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Credits held: the estimate plus 10% headroom."},"settledCents":{"nullable":true,"description":"Charged once every scene settled; null until then.","type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR"]},"pricingVersion":{"type":"string"},"confirmedBy":{"type":"string","enum":["user","auto_limit"]},"failureCode":{"nullable":true,"type":"string"},"failureRecovery":{"nullable":true,"description":"The next step for a failed generation whose takes share a reason (SCENE_REFERENCE_REJECTED, VIDEO_PROVIDER_UNAVAILABLE); null otherwise.","type":"object","properties":{"operation":{"type":"string","description":"studio.videos.changes.propose for a rejected reference (change the scene without the character); studio.videos.update for a provider outage (choose another quality, then studio.generations.estimate for a new quote); studio.videos.scenes.narration.retry for a take whose voice-over is missing (narrate its stored clip again, then quote and start); studio.videos.scenes.retry for a dialog take whose clip misspeaks its lines (a fresh take of the scene, then quote and start)."},"args":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneId":{"description":"The scene to act on, when the failure names it (a take's own scene); otherwise it is listed in requiredFields.","type":"string","minLength":1,"maxLength":120}},"required":["videoId"],"additionalProperties":false},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Input the caller still provides before it calls the operation."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","versionId","trigger","status","scenes","estimatedCents","narration","reservedCents","settledCents","currency","pricingVersion","confirmedBy","failureCode","failureRecovery","createdAt","startedAt","completedAt"],"additionalProperties":false},"OperationStudioGenerationsStartError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsStartErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsStartErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioGenerationsStartErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioGenerationsStartErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsStartErrorDefinitionSchema0"}}]},"OperationStudioGenerationsStartErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioGenerationsStartErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioGenerationsStartErrorDefinitionSchema1"}}]},"OperationStudioIdeasGenerateInput":{"type":"object","properties":{"researchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."},"count":{"default":10,"description":"How many ideas to add, 1–10.","type":"integer","minimum":1,"maximum":10},"steering":{"description":"What this batch should focus on, up to 500 characters.","type":"string","minLength":1,"maxLength":500},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["researchId"],"additionalProperties":false},"OperationStudioIdeasGenerateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"source":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["profile"]},"socialAccountId":{"description":"A connected Instagram, TikTok or YouTube account.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"profileUrl":{"description":"A public HTTPS Instagram, TikTok or YouTube profile URL.","type":"string","minLength":1,"maxLength":2048}},"required":["kind"],"additionalProperties":false,"description":"Analyse a profile: exactly one of socialAccountId or profileUrl."},{"type":"object","properties":{"kind":{"type":"string","enum":["references"]},"urls":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"1–10 public HTTPS Instagram, TikTok or YouTube profile or item URLs."}},"required":["kind","urls"],"additionalProperties":false,"description":"Analyse reference items."},{"type":"object","properties":{"kind":{"type":"string","enum":["prompt"]},"prompt":{"type":"string","minLength":1,"maxLength":2000,"description":"What the ideas should be about."}},"required":["kind","prompt"],"additionalProperties":false,"description":"Generate ideas from a typed prompt; skips fetching and analysis."}]},"status":{"type":"string","enum":["queued","fetching","analyzing","generating_ideas","succeeded","failed","cancelled"]},"progress":{"type":"object","properties":{"stage":{"nullable":true,"description":"The current step, for example fetching or extracting_evidence.","type":"string"},"done":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["stage","done","total"],"additionalProperties":false},"failureCode":{"nullable":true,"type":"string"},"summary":{"nullable":true,"description":"Hooks, formats, topics and audience notes; null for prompt research.","type":"object","properties":{"hooks":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"formats":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"topics":{"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"audienceNotes":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":1000}},"analyzedItemCount":{"type":"integer","minimum":0,"maximum":1000}},"required":["hooks","formats","topics","audienceNotes","analyzedItemCount"],"additionalProperties":false},"ideaCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","source","status","progress","failureCode","summary","ideaCount","canManage","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationStudioIdeasGenerateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_RESEARCH_NOT_COMPLETE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioIdeasGenerateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateErrorDefinitionSchema0"}}]},"OperationStudioIdeasGenerateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateErrorDefinitionSchema1"}}]},"OperationStudioIdeasGetInput":{"type":"object","properties":{"ideaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio idea id."}},"required":["ideaId"],"additionalProperties":false},"OperationStudioIdeasGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio idea id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"researchId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."},"title":{"type":"string"},"hook":{"type":"string"},"angle":{"type":"string"},"outline":{"type":"string"},"suggestedShape":{"type":"string","enum":["clip","story"]},"suggestedFormat":{"nullable":true,"type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]},"status":{"type":"string","enum":["new","saved","dismissed","used"]},"feedback":{"nullable":true,"type":"string"},"videoIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"description":"Videos created from this idea with studio.videos.create { ideaId }."},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","researchId","title","hook","angle","outline","suggestedShape","suggestedFormat","status","feedback","videoIds","canManage","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioIdeasGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioIdeasGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioIdeasGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasGetErrorDefinitionSchema0"}}]},"OperationStudioIdeasGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioIdeasGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasGetErrorDefinitionSchema1"}}]},"OperationStudioIdeasListInput":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"researchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."},"status":{"type":"string","enum":["new","saved","dismissed","used"]},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"required":["projectId"],"additionalProperties":false},"OperationStudioIdeasListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio idea id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"researchId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."},"title":{"type":"string"},"hook":{"type":"string"},"angle":{"type":"string"},"outline":{"type":"string"},"suggestedShape":{"type":"string","enum":["clip","story"]},"suggestedFormat":{"nullable":true,"type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]},"status":{"type":"string","enum":["new","saved","dismissed","used"]},"feedback":{"nullable":true,"type":"string"},"videoIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"description":"Videos created from this idea with studio.videos.create { ideaId }."},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","researchId","title","hook","angle","outline","suggestedShape","suggestedFormat","status","feedback","videoIds","canManage","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioIdeasListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioIdeasListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioIdeasListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasListErrorDefinitionSchema0"}}]},"OperationStudioIdeasListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioIdeasListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasListErrorDefinitionSchema1"}}]},"OperationStudioIdeasUpdateInput":{"type":"object","properties":{"ideaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio idea id."},"status":{"description":"Save or dismiss the idea; used is set by studio.videos.create.","type":"string","enum":["saved","dismissed"]},"feedback":{"description":"A note on the idea; null clears it.","nullable":true,"type":"string","minLength":1,"maxLength":2000},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["ideaId"],"additionalProperties":false},"OperationStudioIdeasUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio idea id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"researchId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."},"title":{"type":"string"},"hook":{"type":"string"},"angle":{"type":"string"},"outline":{"type":"string"},"suggestedShape":{"type":"string","enum":["clip","story"]},"suggestedFormat":{"nullable":true,"type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]},"status":{"type":"string","enum":["new","saved","dismissed","used"]},"feedback":{"nullable":true,"type":"string"},"videoIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"description":"Videos created from this idea with studio.videos.create { ideaId }."},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","researchId","title","hook","angle","outline","suggestedShape","suggestedFormat","status","feedback","videoIds","canManage","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioIdeasUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_IDEA_STATUS_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioIdeasUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateErrorDefinitionSchema0"}}]},"OperationStudioIdeasUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateErrorDefinitionSchema1"}}]},"OperationStudioPostsCancelInput":{"type":"object","properties":{"postId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["postId"],"additionalProperties":false},"OperationStudioPostsCancelOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id (a succeeded video export)."},"socialAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."},"platform":{"type":"string","enum":["instagram","tiktok","youtube","linkedin"]},"caption":{"type":"string"},"platformOptions":{"oneOf":[{"type":"object","properties":{"platform":{"type":"string","enum":["tiktok"]},"privacyLevel":{"type":"string","enum":["public_to_everyone","mutual_follow_friends","follower_of_creator","self_only"]},"brandContent":{"type":"boolean"},"aigc":{"type":"boolean","enum":[true]}},"required":["platform","privacyLevel","brandContent","aigc"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["youtube"]},"title":{"type":"string","minLength":1,"maxLength":100},"privacy":{"type":"string","enum":["public","unlisted","private"]}},"required":["platform","title","privacy"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["instagram"]},"shareToFeed":{"type":"boolean"}},"required":["platform","shareToFeed"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["linkedin"]}},"required":["platform"],"additionalProperties":false}]},"status":{"type":"string","enum":["draft","scheduled","publishing","published","failed","cancelled","approval_invalidated"]},"scheduledFor":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"publishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"externalId":{"nullable":true,"type":"string"},"publicationUrl":{"nullable":true,"type":"string"},"failureCode":{"nullable":true,"description":"Provider or dispatch failure of the last attempt, set while `failed`.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","videoId","exportId","socialAccountId","platform","caption","platformOptions","status","scheduledFor","publishedAt","externalId","publicationUrl","failureCode","attemptCount","canManage","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioPostsCancelError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_POST_NOT_CANCELLABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsCancelErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsCancelErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPostsCancelErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsCancelErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsCancelErrorDefinitionSchema0"}}]},"OperationStudioPostsCancelErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsCancelErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsCancelErrorDefinitionSchema1"}}]},"OperationStudioPostsCreateInput":{"type":"object","properties":{"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id (a succeeded video export)."},"socialAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."},"caption":{"type":"string","minLength":1,"maxLength":2200,"description":"Post caption, 1–2200 characters."},"platformOptions":{"oneOf":[{"type":"object","properties":{"platform":{"type":"string","enum":["tiktok"]},"privacyLevel":{"type":"string","enum":["public_to_everyone","mutual_follow_friends","follower_of_creator","self_only"]},"brandContent":{"type":"boolean"},"aigc":{"description":"Always true: Studio videos are AI-generated.","type":"boolean","enum":[true]}},"required":["platform"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["youtube"]},"title":{"type":"string","minLength":1,"maxLength":100},"privacy":{"type":"string","enum":["public","unlisted","private"]}},"required":["platform"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["instagram"]},"shareToFeed":{"type":"boolean"}},"required":["platform"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["linkedin"]}},"required":["platform"],"additionalProperties":false}],"description":"Per-platform options; `platform` must match the social account. Omitted fields keep their value or default."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["exportId","socialAccountId","caption"],"additionalProperties":false},"OperationStudioPostsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id (a succeeded video export)."},"socialAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."},"platform":{"type":"string","enum":["instagram","tiktok","youtube","linkedin"]},"caption":{"type":"string"},"platformOptions":{"oneOf":[{"type":"object","properties":{"platform":{"type":"string","enum":["tiktok"]},"privacyLevel":{"type":"string","enum":["public_to_everyone","mutual_follow_friends","follower_of_creator","self_only"]},"brandContent":{"type":"boolean"},"aigc":{"type":"boolean","enum":[true]}},"required":["platform","privacyLevel","brandContent","aigc"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["youtube"]},"title":{"type":"string","minLength":1,"maxLength":100},"privacy":{"type":"string","enum":["public","unlisted","private"]}},"required":["platform","title","privacy"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["instagram"]},"shareToFeed":{"type":"boolean"}},"required":["platform","shareToFeed"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["linkedin"]}},"required":["platform"],"additionalProperties":false}]},"status":{"type":"string","enum":["draft","scheduled","publishing","published","failed","cancelled","approval_invalidated"]},"scheduledFor":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"publishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"externalId":{"nullable":true,"type":"string"},"publicationUrl":{"nullable":true,"type":"string"},"failureCode":{"nullable":true,"description":"Provider or dispatch failure of the last attempt, set while `failed`.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","videoId","exportId","socialAccountId","platform","caption","platformOptions","status","scheduledFor","publishedAt","externalId","publicationUrl","failureCode","attemptCount","canManage","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioPostsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPostsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsCreateErrorDefinitionSchema0"}}]},"OperationStudioPostsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsCreateErrorDefinitionSchema1"}}]},"OperationStudioPostsDeleteInput":{"type":"object","properties":{"postId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["postId"],"additionalProperties":false},"OperationStudioPostsDeleteOutput":{"type":"object","properties":{},"additionalProperties":false},"OperationStudioPostsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_POST_NOT_EDITABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPostsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsDeleteErrorDefinitionSchema0"}}]},"OperationStudioPostsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsDeleteErrorDefinitionSchema1"}}]},"OperationStudioPostsGetInput":{"type":"object","properties":{"postId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."}},"required":["postId"],"additionalProperties":false},"OperationStudioPostsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id (a succeeded video export)."},"socialAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."},"platform":{"type":"string","enum":["instagram","tiktok","youtube","linkedin"]},"caption":{"type":"string"},"platformOptions":{"oneOf":[{"type":"object","properties":{"platform":{"type":"string","enum":["tiktok"]},"privacyLevel":{"type":"string","enum":["public_to_everyone","mutual_follow_friends","follower_of_creator","self_only"]},"brandContent":{"type":"boolean"},"aigc":{"type":"boolean","enum":[true]}},"required":["platform","privacyLevel","brandContent","aigc"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["youtube"]},"title":{"type":"string","minLength":1,"maxLength":100},"privacy":{"type":"string","enum":["public","unlisted","private"]}},"required":["platform","title","privacy"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["instagram"]},"shareToFeed":{"type":"boolean"}},"required":["platform","shareToFeed"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["linkedin"]}},"required":["platform"],"additionalProperties":false}]},"status":{"type":"string","enum":["draft","scheduled","publishing","published","failed","cancelled","approval_invalidated"]},"scheduledFor":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"publishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"externalId":{"nullable":true,"type":"string"},"publicationUrl":{"nullable":true,"type":"string"},"failureCode":{"nullable":true,"description":"Provider or dispatch failure of the last attempt, set while `failed`.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"latestMetric":{"nullable":true,"description":"The most recently observed metric checkpoint.","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post metric id."},"postId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"checkpoint":{"type":"string","enum":["h1","h24","h72","d7","d28"]},"observedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"views":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"likes":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"comments":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"shares":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"saves":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["provider_unsupported","token_revoked","not_found","provider_error"]}},"required":["id","postId","checkpoint","observedAt","views","likes","comments","shares","saves","available","unavailableReason"],"additionalProperties":false}},"required":["id","projectId","videoId","exportId","socialAccountId","platform","caption","platformOptions","status","scheduledFor","publishedAt","externalId","publicationUrl","failureCode","attemptCount","canManage","createdAt","updatedAt","latestMetric"],"additionalProperties":false},"OperationStudioPostsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPostsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsGetErrorDefinitionSchema0"}}]},"OperationStudioPostsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsGetErrorDefinitionSchema1"}}]},"OperationStudioPostsListInput":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"status":{"type":"string","enum":["draft","scheduled","publishing","published","failed","cancelled","approval_invalidated"]},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"additionalProperties":false},"OperationStudioPostsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id (a succeeded video export)."},"socialAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."},"platform":{"type":"string","enum":["instagram","tiktok","youtube","linkedin"]},"caption":{"type":"string"},"platformOptions":{"oneOf":[{"type":"object","properties":{"platform":{"type":"string","enum":["tiktok"]},"privacyLevel":{"type":"string","enum":["public_to_everyone","mutual_follow_friends","follower_of_creator","self_only"]},"brandContent":{"type":"boolean"},"aigc":{"type":"boolean","enum":[true]}},"required":["platform","privacyLevel","brandContent","aigc"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["youtube"]},"title":{"type":"string","minLength":1,"maxLength":100},"privacy":{"type":"string","enum":["public","unlisted","private"]}},"required":["platform","title","privacy"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["instagram"]},"shareToFeed":{"type":"boolean"}},"required":["platform","shareToFeed"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["linkedin"]}},"required":["platform"],"additionalProperties":false}]},"status":{"type":"string","enum":["draft","scheduled","publishing","published","failed","cancelled","approval_invalidated"]},"scheduledFor":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"publishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"externalId":{"nullable":true,"type":"string"},"publicationUrl":{"nullable":true,"type":"string"},"failureCode":{"nullable":true,"description":"Provider or dispatch failure of the last attempt, set while `failed`.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","videoId","exportId","socialAccountId","platform","caption","platformOptions","status","scheduledFor","publishedAt","externalId","publicationUrl","failureCode","attemptCount","canManage","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioPostsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPostsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsListErrorDefinitionSchema0"}}]},"OperationStudioPostsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsListErrorDefinitionSchema1"}}]},"OperationStudioPostsMetricsListInput":{"type":"object","properties":{"postId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"required":["postId"],"additionalProperties":false},"OperationStudioPostsMetricsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post metric id."},"postId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"checkpoint":{"type":"string","enum":["h1","h24","h72","d7","d28"]},"observedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"views":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"likes":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"comments":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"shares":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"saves":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"available":{"type":"boolean"},"unavailableReason":{"nullable":true,"type":"string","enum":["provider_unsupported","token_revoked","not_found","provider_error"]}},"required":["id","postId","checkpoint","observedAt","views","likes","comments","shares","saves","available","unavailableReason"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioPostsMetricsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPostsMetricsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListErrorDefinitionSchema0"}}]},"OperationStudioPostsMetricsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListErrorDefinitionSchema1"}}]},"OperationStudioPostsPublishInput":{"type":"object","properties":{"postId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["postId"],"additionalProperties":false},"OperationStudioPostsPublishOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id (a succeeded video export)."},"socialAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."},"platform":{"type":"string","enum":["instagram","tiktok","youtube","linkedin"]},"caption":{"type":"string"},"platformOptions":{"oneOf":[{"type":"object","properties":{"platform":{"type":"string","enum":["tiktok"]},"privacyLevel":{"type":"string","enum":["public_to_everyone","mutual_follow_friends","follower_of_creator","self_only"]},"brandContent":{"type":"boolean"},"aigc":{"type":"boolean","enum":[true]}},"required":["platform","privacyLevel","brandContent","aigc"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["youtube"]},"title":{"type":"string","minLength":1,"maxLength":100},"privacy":{"type":"string","enum":["public","unlisted","private"]}},"required":["platform","title","privacy"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["instagram"]},"shareToFeed":{"type":"boolean"}},"required":["platform","shareToFeed"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["linkedin"]}},"required":["platform"],"additionalProperties":false}]},"status":{"type":"string","enum":["draft","scheduled","publishing","published","failed","cancelled","approval_invalidated"]},"scheduledFor":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"publishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"externalId":{"nullable":true,"type":"string"},"publicationUrl":{"nullable":true,"type":"string"},"failureCode":{"nullable":true,"description":"Provider or dispatch failure of the last attempt, set while `failed`.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","videoId","exportId","socialAccountId","platform","caption","platformOptions","status","scheduledFor","publishedAt","externalId","publicationUrl","failureCode","attemptCount","canManage","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioPostsPublishError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_POST_NOT_PUBLISHABLE","STUDIO_PUBLISH_FAILED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsPublishErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsPublishErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPostsPublishErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsPublishErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsPublishErrorDefinitionSchema0"}}]},"OperationStudioPostsPublishErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsPublishErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsPublishErrorDefinitionSchema1"}}]},"OperationStudioPostsReadinessGetInput":{"type":"object","properties":{"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id (a succeeded video export)."},"socialAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."}},"required":["exportId","socialAccountId"],"additionalProperties":false},"OperationStudioPostsReadinessGetOutput":{"type":"object","properties":{"id":{"type":"string","description":"The export and social account pair this readiness check covers, as exportId:socialAccountId."},"ready":{"type":"boolean"},"platform":{"type":"string","enum":["instagram","tiktok","youtube","linkedin"]},"checks":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"The STUDIO_* failure code this check prevents."},"ok":{"type":"boolean"},"message":{"type":"string"},"recovery":{"nullable":true,"type":"object","properties":{"operation":{"type":"string"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetOutputDefinitionSchema0"}}},"required":["operation"],"additionalProperties":false}},"required":["code","ok","message","recovery"],"additionalProperties":false}}},"required":["id","ready","platform","checks"],"additionalProperties":false},"OperationStudioPostsReadinessGetOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetOutputDefinitionSchema0"}}]},"OperationStudioPostsReadinessGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPostsReadinessGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetErrorDefinitionSchema0"}}]},"OperationStudioPostsReadinessGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetErrorDefinitionSchema1"}}]},"OperationStudioPostsScheduleInput":{"type":"object","properties":{"postId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"scheduledFor":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"ISO time at least 5 minutes and at most 90 days ahead."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["postId","scheduledFor"],"additionalProperties":false},"OperationStudioPostsScheduleOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id (a succeeded video export)."},"socialAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."},"platform":{"type":"string","enum":["instagram","tiktok","youtube","linkedin"]},"caption":{"type":"string"},"platformOptions":{"oneOf":[{"type":"object","properties":{"platform":{"type":"string","enum":["tiktok"]},"privacyLevel":{"type":"string","enum":["public_to_everyone","mutual_follow_friends","follower_of_creator","self_only"]},"brandContent":{"type":"boolean"},"aigc":{"type":"boolean","enum":[true]}},"required":["platform","privacyLevel","brandContent","aigc"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["youtube"]},"title":{"type":"string","minLength":1,"maxLength":100},"privacy":{"type":"string","enum":["public","unlisted","private"]}},"required":["platform","title","privacy"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["instagram"]},"shareToFeed":{"type":"boolean"}},"required":["platform","shareToFeed"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["linkedin"]}},"required":["platform"],"additionalProperties":false}]},"status":{"type":"string","enum":["draft","scheduled","publishing","published","failed","cancelled","approval_invalidated"]},"scheduledFor":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"publishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"externalId":{"nullable":true,"type":"string"},"publicationUrl":{"nullable":true,"type":"string"},"failureCode":{"nullable":true,"description":"Provider or dispatch failure of the last attempt, set while `failed`.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","videoId","exportId","socialAccountId","platform","caption","platformOptions","status","scheduledFor","publishedAt","externalId","publicationUrl","failureCode","attemptCount","canManage","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioPostsScheduleError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_POST_NOT_PUBLISHABLE","STUDIO_PUBLISH_FAILED","STUDIO_SCHEDULE_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsScheduleErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsScheduleErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPostsScheduleErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsScheduleErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsScheduleErrorDefinitionSchema0"}}]},"OperationStudioPostsScheduleErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsScheduleErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsScheduleErrorDefinitionSchema1"}}]},"OperationStudioPostsUpdateInput":{"type":"object","properties":{"postId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"caption":{"type":"string","minLength":1,"maxLength":2200,"description":"Post caption, 1–2200 characters."},"platformOptions":{"oneOf":[{"type":"object","properties":{"platform":{"type":"string","enum":["tiktok"]},"privacyLevel":{"type":"string","enum":["public_to_everyone","mutual_follow_friends","follower_of_creator","self_only"]},"brandContent":{"type":"boolean"},"aigc":{"description":"Always true: Studio videos are AI-generated.","type":"boolean","enum":[true]}},"required":["platform"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["youtube"]},"title":{"type":"string","minLength":1,"maxLength":100},"privacy":{"type":"string","enum":["public","unlisted","private"]}},"required":["platform"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["instagram"]},"shareToFeed":{"type":"boolean"}},"required":["platform"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["linkedin"]}},"required":["platform"],"additionalProperties":false}],"description":"Per-platform options; `platform` must match the social account. Omitted fields keep their value or default."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["postId"],"additionalProperties":false},"OperationStudioPostsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio post id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"exportId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id (a succeeded video export)."},"socialAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."},"platform":{"type":"string","enum":["instagram","tiktok","youtube","linkedin"]},"caption":{"type":"string"},"platformOptions":{"oneOf":[{"type":"object","properties":{"platform":{"type":"string","enum":["tiktok"]},"privacyLevel":{"type":"string","enum":["public_to_everyone","mutual_follow_friends","follower_of_creator","self_only"]},"brandContent":{"type":"boolean"},"aigc":{"type":"boolean","enum":[true]}},"required":["platform","privacyLevel","brandContent","aigc"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["youtube"]},"title":{"type":"string","minLength":1,"maxLength":100},"privacy":{"type":"string","enum":["public","unlisted","private"]}},"required":["platform","title","privacy"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["instagram"]},"shareToFeed":{"type":"boolean"}},"required":["platform","shareToFeed"],"additionalProperties":false},{"type":"object","properties":{"platform":{"type":"string","enum":["linkedin"]}},"required":["platform"],"additionalProperties":false}]},"status":{"type":"string","enum":["draft","scheduled","publishing","published","failed","cancelled","approval_invalidated"]},"scheduledFor":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"publishedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"externalId":{"nullable":true,"type":"string"},"publicationUrl":{"nullable":true,"type":"string"},"failureCode":{"nullable":true,"description":"Provider or dispatch failure of the last attempt, set while `failed`.","type":"string"},"attemptCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","videoId","exportId","socialAccountId","platform","caption","platformOptions","status","scheduledFor","publishedAt","externalId","publicationUrl","failureCode","attemptCount","canManage","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioPostsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_POST_NOT_EDITABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPostsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsUpdateErrorDefinitionSchema0"}}]},"OperationStudioPostsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPostsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPostsUpdateErrorDefinitionSchema1"}}]},"OperationStudioPresentersGetInput":{"type":"object","properties":{"presenterId":{"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"},"description":"A stock AI presenter id (studio.presenters.list), e.g. presenter_anna."}},"required":["presenterId"],"additionalProperties":false},"OperationStudioPresentersGetOutput":{"type":"object","properties":{"id":{"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"},"description":"A stock AI presenter id (studio.presenters.list), e.g. presenter_anna."},"name":{"type":"string","description":"The presenter's first name."},"appearance":{"type":"string","description":"What the presenter looks like and wears, in English, matching the portrait; every scene of the ad describes the presenter so."},"summary":{"type":"object","properties":{"de":{"type":"string"},"en":{"type":"string"}},"required":["de","en"],"additionalProperties":false,"description":"A short description for a presenter picker, in German and English."},"languages":{"type":"array","items":{"type":"string","enum":["de","en"]},"description":"The languages the presenter speaks ads in."},"voices":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string","enum":["de","en"]},"provider":{"type":"string","description":"The speech provider of the voice: elevenlabs."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The fixed voice the presenter speaks this language in."}},"required":["language","provider","voice"],"additionalProperties":false},"description":"One fixed voice per language; every scene and every variant of an ad speaks in it."},"rendering":{"type":"object","properties":{"provider":{"type":"string","description":"The provider holding the presenter's portrait: byteplus_virtual_portrait (a BytePlus private virtual portrait asset)."},"reference":{"type":"string","description":"The portrait reference every clip sends, e.g. asset://asset-20261103174524-z9j5p."}},"required":["provider","reference"],"additionalProperties":false,"description":"Where the presenter's likeness is rendered from."},"provenance":{"type":"object","properties":{"synthetic":{"type":"boolean","enum":[true],"description":"Always true: a fictional person generated by an image model, not similar to any real person."},"generator":{"type":"string"},"model":{"type":"string","description":"The image model that generated the portrait."},"prompt":{"type":"string","description":"The image prompt, verbatim."},"responseId":{"type":"string","description":"The image API response id of the generation.","x-moreflow-opaque":{"reason":"Image provider response id kept as generation evidence; no moreflow operation reads it."}},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"portraitSha256":{"type":"string","description":"SHA-256 of the registered portrait file."},"terms":{"type":"string","description":"The provider terms the portrait is registered under."},"issueId":{"type":"string","description":"The moreflow issue that recorded the generation and its approval.","x-moreflow-opaque":{"reason":"Internal issue tracker key of the generation record; no operation resolves it."}}},"required":["synthetic","generator","model","prompt","responseId","generatedAt","portraitSha256","terms","issueId"],"additionalProperties":false,"description":"How the portrait was made. Ads with a stock presenter are AI-generated content and are published with the AI-generated label."},"status":{"type":"string","enum":["active","retired"],"description":"active: may be chosen for new ads; retired: kept for existing videos only."},"previewUrl":{"description":"A small public JPEG of the presenter's portrait (384x688, 9:16) for a presenter picker, on the moreflow web origin. Absent when the runtime has no web origin configured.","type":"string","format":"uri"}},"required":["id","name","appearance","summary","languages","voices","rendering","provenance","status"],"additionalProperties":false},"OperationStudioPresentersGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_PRESENTER_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPresentersGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPresentersGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPresentersGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPresentersGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPresentersGetErrorDefinitionSchema0"}}]},"OperationStudioPresentersGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPresentersGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPresentersGetErrorDefinitionSchema1"}}]},"OperationStudioPresentersListInput":{"type":"object","properties":{"language":{"description":"Only presenters who speak this language (the ad language).","type":"string","enum":["de","en"]},"includeRetired":{"description":"Also list retired presenters; default false.","type":"boolean"}},"additionalProperties":false},"OperationStudioPresentersListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"},"description":"A stock AI presenter id (studio.presenters.list), e.g. presenter_anna."},"name":{"type":"string","description":"The presenter's first name."},"appearance":{"type":"string","description":"What the presenter looks like and wears, in English, matching the portrait; every scene of the ad describes the presenter so."},"summary":{"type":"object","properties":{"de":{"type":"string"},"en":{"type":"string"}},"required":["de","en"],"additionalProperties":false,"description":"A short description for a presenter picker, in German and English."},"languages":{"type":"array","items":{"type":"string","enum":["de","en"]},"description":"The languages the presenter speaks ads in."},"voices":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string","enum":["de","en"]},"provider":{"type":"string","description":"The speech provider of the voice: elevenlabs."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The fixed voice the presenter speaks this language in."}},"required":["language","provider","voice"],"additionalProperties":false},"description":"One fixed voice per language; every scene and every variant of an ad speaks in it."},"rendering":{"type":"object","properties":{"provider":{"type":"string","description":"The provider holding the presenter's portrait: byteplus_virtual_portrait (a BytePlus private virtual portrait asset)."},"reference":{"type":"string","description":"The portrait reference every clip sends, e.g. asset://asset-20261103174524-z9j5p."}},"required":["provider","reference"],"additionalProperties":false,"description":"Where the presenter's likeness is rendered from."},"provenance":{"type":"object","properties":{"synthetic":{"type":"boolean","enum":[true],"description":"Always true: a fictional person generated by an image model, not similar to any real person."},"generator":{"type":"string"},"model":{"type":"string","description":"The image model that generated the portrait."},"prompt":{"type":"string","description":"The image prompt, verbatim."},"responseId":{"type":"string","description":"The image API response id of the generation.","x-moreflow-opaque":{"reason":"Image provider response id kept as generation evidence; no moreflow operation reads it."}},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"portraitSha256":{"type":"string","description":"SHA-256 of the registered portrait file."},"terms":{"type":"string","description":"The provider terms the portrait is registered under."},"issueId":{"type":"string","description":"The moreflow issue that recorded the generation and its approval.","x-moreflow-opaque":{"reason":"Internal issue tracker key of the generation record; no operation resolves it."}}},"required":["synthetic","generator","model","prompt","responseId","generatedAt","portraitSha256","terms","issueId"],"additionalProperties":false,"description":"How the portrait was made. Ads with a stock presenter are AI-generated content and are published with the AI-generated label."},"status":{"type":"string","enum":["active","retired"],"description":"active: may be chosen for new ads; retired: kept for existing videos only."},"previewUrl":{"description":"A small public JPEG of the presenter's portrait (384x688, 9:16) for a presenter picker, on the moreflow web origin. Absent when the runtime has no web origin configured.","type":"string","format":"uri"}},"required":["id","name","appearance","summary","languages","voices","rendering","provenance","status"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Always null: every presenter fits in one page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioPresentersListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPresentersListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioPresentersListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioPresentersListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPresentersListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPresentersListErrorDefinitionSchema0"}}]},"OperationStudioPresentersListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioPresentersListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioPresentersListErrorDefinitionSchema1"}}]},"OperationStudioProjectsArchiveInput":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["projectId"],"additionalProperties":false},"OperationStudioProjectsArchiveOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"name":{"type":"string"},"status":{"type":"string","enum":["active","archived"]},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"brief":{"type":"object","properties":{"audience":{"nullable":true,"type":"string"},"offer":{"nullable":true,"type":"string"},"niche":{"nullable":true,"type":"string"},"websiteUrl":{"nullable":true,"type":"string"},"language":{"nullable":true,"type":"string","enum":["de","en"]}},"required":["audience","offer","niche","websiteUrl","language"],"additionalProperties":false},"brand":{"type":"object","properties":{"logoAssetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Media asset id."},"primaryColor":{"nullable":true,"type":"string"}},"required":["logoAssetId","primaryColor"],"additionalProperties":false},"formats":{"type":"array","items":{"type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]}},"defaults":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"durationSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["aspectRatio","quality","videoModel","durationSeconds"],"additionalProperties":false},"characterIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."}},"socialAccountIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."}},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","status","archivedAt","brief","brand","formats","defaults","characterIds","socialAccountIds","canManage","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioProjectsArchiveError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_PROJECT_HAS_SCHEDULED_POSTS"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioProjectsArchiveErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveErrorDefinitionSchema0"}}]},"OperationStudioProjectsArchiveErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveErrorDefinitionSchema1"}}]},"OperationStudioProjectsBriefProposeInput":{"type":"object","properties":{"projectId":{"description":"The project the brief is for; omit before the project exists.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"websiteUrl":{"type":"string","minLength":1,"maxLength":2048,"description":"The public company website to read."},"language":{"type":"string","enum":["de","en"],"description":"The language the brief is written in."}},"required":["websiteUrl","language"],"additionalProperties":false},"OperationStudioProjectsBriefProposeOutput":{"type":"object","properties":{"brief":{"type":"object","properties":{"audience":{"type":"string","description":"Who the ideal customer is: situation, goals, pains, objections and vocabulary."},"offer":{"type":"string","description":"The product or service, promised outcome, differentiators, proof and next step."},"niche":{"nullable":true,"type":"string"},"websiteUrl":{"type":"string","description":"The website as fetched, after redirects."},"language":{"type":"string","enum":["de","en"]}},"required":["audience","offer","niche","websiteUrl","language"],"additionalProperties":false}},"required":["brief"],"additionalProperties":false},"OperationStudioProjectsBriefProposeError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AI_QUOTA_EXCEEDED","AI_UNAVAILABLE","STUDIO_WEBSITE_UNREACHABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioProjectsBriefProposeErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeErrorDefinitionSchema0"}}]},"OperationStudioProjectsBriefProposeErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeErrorDefinitionSchema1"}}]},"OperationStudioProjectsCreateInput":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"brief":{"description":"Audience, offer, niche, website and language; each up to 2,000 characters.","type":"object","properties":{"audience":{"nullable":true,"type":"string","minLength":1,"maxLength":2000},"offer":{"nullable":true,"type":"string","minLength":1,"maxLength":2000},"niche":{"nullable":true,"type":"string","minLength":1,"maxLength":2000},"websiteUrl":{"nullable":true,"type":"string","maxLength":2000,"format":"uri"},"language":{"nullable":true,"type":"string","enum":["de","en"]}},"additionalProperties":false},"brand":{"description":"Logo media asset and #rrggbb primary colour applied to exports.","type":"object","properties":{"logoAssetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Media asset id."},"primaryColor":{"nullable":true,"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"additionalProperties":false},"formats":{"description":"Target formats; replaces the list.","maxItems":4,"type":"array","items":{"type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]}},"defaults":{"description":"Aspect ratio, quality (custom with videoModel, or a standard/pro Seedance tier) and duration (4–180 s) for new videos.","type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"description":"The model of the custom quality; alone it implies quality custom. Any Studio video model from studio.settings.get videoModels.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"durationSeconds":{"type":"integer","minimum":4,"maximum":180}},"additionalProperties":false},"characterIds":{"description":"Characters shared with this project; replaces the list.","maxItems":50,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."}},"socialAccountIds":{"description":"Connected social accounts linked to this project; replaces the list.","maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["name"],"additionalProperties":false},"OperationStudioProjectsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"name":{"type":"string"},"status":{"type":"string","enum":["active","archived"]},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"brief":{"type":"object","properties":{"audience":{"nullable":true,"type":"string"},"offer":{"nullable":true,"type":"string"},"niche":{"nullable":true,"type":"string"},"websiteUrl":{"nullable":true,"type":"string"},"language":{"nullable":true,"type":"string","enum":["de","en"]}},"required":["audience","offer","niche","websiteUrl","language"],"additionalProperties":false},"brand":{"type":"object","properties":{"logoAssetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Media asset id."},"primaryColor":{"nullable":true,"type":"string"}},"required":["logoAssetId","primaryColor"],"additionalProperties":false},"formats":{"type":"array","items":{"type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]}},"defaults":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"durationSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["aspectRatio","quality","videoModel","durationSeconds"],"additionalProperties":false},"characterIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."}},"socialAccountIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."}},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","status","archivedAt","brief","brand","formats","defaults","characterIds","socialAccountIds","canManage","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioProjectsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_VIDEO_MODEL_UNAVAILABLE","STUDIO_ASSET_NOT_FOUND","STUDIO_PROJECT_LIMIT_REACHED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioProjectsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsCreateErrorDefinitionSchema0"}}]},"OperationStudioProjectsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsCreateErrorDefinitionSchema1"}}]},"OperationStudioProjectsDeleteInput":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["projectId"],"additionalProperties":false},"OperationStudioProjectsDeleteOutput":{"type":"object","properties":{},"additionalProperties":false},"OperationStudioProjectsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_PROJECT_NOT_ARCHIVED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioProjectsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteErrorDefinitionSchema0"}}]},"OperationStudioProjectsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteErrorDefinitionSchema1"}}]},"OperationStudioProjectsGetInput":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."}},"required":["projectId"],"additionalProperties":false},"OperationStudioProjectsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"name":{"type":"string"},"status":{"type":"string","enum":["active","archived"]},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"brief":{"type":"object","properties":{"audience":{"nullable":true,"type":"string"},"offer":{"nullable":true,"type":"string"},"niche":{"nullable":true,"type":"string"},"websiteUrl":{"nullable":true,"type":"string"},"language":{"nullable":true,"type":"string","enum":["de","en"]}},"required":["audience","offer","niche","websiteUrl","language"],"additionalProperties":false},"brand":{"type":"object","properties":{"logoAssetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Media asset id."},"primaryColor":{"nullable":true,"type":"string"}},"required":["logoAssetId","primaryColor"],"additionalProperties":false},"formats":{"type":"array","items":{"type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]}},"defaults":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"durationSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["aspectRatio","quality","videoModel","durationSeconds"],"additionalProperties":false},"characterIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."}},"socialAccountIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."}},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"videoCounts":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"inProgress":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Videos whose scenes are being written or generated."},"draft":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Videos with written scenes waiting to be generated."},"ready":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["total","inProgress","draft","ready","failed"],"additionalProperties":false,"description":"How many videos the project holds, by stage."}},"required":["id","name","status","archivedAt","brief","brand","formats","defaults","characterIds","socialAccountIds","canManage","createdBy","createdAt","updatedAt","videoCounts"],"additionalProperties":false},"OperationStudioProjectsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioProjectsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsGetErrorDefinitionSchema0"}}]},"OperationStudioProjectsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsGetErrorDefinitionSchema1"}}]},"OperationStudioProjectsListInput":{"type":"object","properties":{"status":{"type":"string","enum":["active","archived"]},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"additionalProperties":false},"OperationStudioProjectsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"name":{"type":"string"},"status":{"type":"string","enum":["active","archived"]},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"brief":{"type":"object","properties":{"audience":{"nullable":true,"type":"string"},"offer":{"nullable":true,"type":"string"},"niche":{"nullable":true,"type":"string"},"websiteUrl":{"nullable":true,"type":"string"},"language":{"nullable":true,"type":"string","enum":["de","en"]}},"required":["audience","offer","niche","websiteUrl","language"],"additionalProperties":false},"brand":{"type":"object","properties":{"logoAssetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Media asset id."},"primaryColor":{"nullable":true,"type":"string"}},"required":["logoAssetId","primaryColor"],"additionalProperties":false},"formats":{"type":"array","items":{"type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]}},"defaults":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"durationSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["aspectRatio","quality","videoModel","durationSeconds"],"additionalProperties":false},"characterIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."}},"socialAccountIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."}},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"videoCounts":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"inProgress":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Videos whose scenes are being written or generated."},"draft":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Videos with written scenes waiting to be generated."},"ready":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["total","inProgress","draft","ready","failed"],"additionalProperties":false,"description":"How many videos the project holds, by stage."}},"required":["id","name","status","archivedAt","brief","brand","formats","defaults","characterIds","socialAccountIds","canManage","createdBy","createdAt","updatedAt","videoCounts"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioProjectsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioProjectsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsListErrorDefinitionSchema0"}}]},"OperationStudioProjectsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsListErrorDefinitionSchema1"}}]},"OperationStudioProjectsUnarchiveInput":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["projectId"],"additionalProperties":false},"OperationStudioProjectsUnarchiveOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"name":{"type":"string"},"status":{"type":"string","enum":["active","archived"]},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"brief":{"type":"object","properties":{"audience":{"nullable":true,"type":"string"},"offer":{"nullable":true,"type":"string"},"niche":{"nullable":true,"type":"string"},"websiteUrl":{"nullable":true,"type":"string"},"language":{"nullable":true,"type":"string","enum":["de","en"]}},"required":["audience","offer","niche","websiteUrl","language"],"additionalProperties":false},"brand":{"type":"object","properties":{"logoAssetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Media asset id."},"primaryColor":{"nullable":true,"type":"string"}},"required":["logoAssetId","primaryColor"],"additionalProperties":false},"formats":{"type":"array","items":{"type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]}},"defaults":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"durationSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["aspectRatio","quality","videoModel","durationSeconds"],"additionalProperties":false},"characterIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."}},"socialAccountIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."}},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","status","archivedAt","brief","brand","formats","defaults","characterIds","socialAccountIds","canManage","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioProjectsUnarchiveError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_PROJECT_LIMIT_REACHED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioProjectsUnarchiveErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveErrorDefinitionSchema0"}}]},"OperationStudioProjectsUnarchiveErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveErrorDefinitionSchema1"}}]},"OperationStudioProjectsUpdateInput":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"name":{"type":"string","minLength":1,"maxLength":120},"brief":{"description":"Audience, offer, niche, website and language; each up to 2,000 characters.","type":"object","properties":{"audience":{"nullable":true,"type":"string","minLength":1,"maxLength":2000},"offer":{"nullable":true,"type":"string","minLength":1,"maxLength":2000},"niche":{"nullable":true,"type":"string","minLength":1,"maxLength":2000},"websiteUrl":{"nullable":true,"type":"string","maxLength":2000,"format":"uri"},"language":{"nullable":true,"type":"string","enum":["de","en"]}},"additionalProperties":false},"brand":{"description":"Logo media asset and #rrggbb primary colour applied to exports.","type":"object","properties":{"logoAssetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Media asset id."},"primaryColor":{"nullable":true,"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"additionalProperties":false},"formats":{"description":"Target formats; replaces the list.","maxItems":4,"type":"array","items":{"type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]}},"defaults":{"description":"Aspect ratio, quality (custom with videoModel, or a standard/pro Seedance tier) and duration (4–180 s) for new videos.","type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"description":"The model of the custom quality; alone it implies quality custom. Any Studio video model from studio.settings.get videoModels.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"durationSeconds":{"type":"integer","minimum":4,"maximum":180}},"additionalProperties":false},"characterIds":{"description":"Characters shared with this project; replaces the list.","maxItems":50,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."}},"socialAccountIds":{"description":"Connected social accounts linked to this project; replaces the list.","maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["projectId"],"additionalProperties":false},"OperationStudioProjectsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"name":{"type":"string"},"status":{"type":"string","enum":["active","archived"]},"archivedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"brief":{"type":"object","properties":{"audience":{"nullable":true,"type":"string"},"offer":{"nullable":true,"type":"string"},"niche":{"nullable":true,"type":"string"},"websiteUrl":{"nullable":true,"type":"string"},"language":{"nullable":true,"type":"string","enum":["de","en"]}},"required":["audience","offer","niche","websiteUrl","language"],"additionalProperties":false},"brand":{"type":"object","properties":{"logoAssetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Media asset id."},"primaryColor":{"nullable":true,"type":"string"}},"required":["logoAssetId","primaryColor"],"additionalProperties":false},"formats":{"type":"array","items":{"type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]}},"defaults":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"durationSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["aspectRatio","quality","videoModel","durationSeconds"],"additionalProperties":false},"characterIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."}},"socialAccountIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."}},"canManage":{"type":"boolean"},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","name","status","archivedAt","brief","brand","formats","defaults","characterIds","socialAccountIds","canManage","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioProjectsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_VIDEO_MODEL_UNAVAILABLE","STUDIO_ASSET_NOT_FOUND","STUDIO_PROJECT_ARCHIVED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioProjectsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateErrorDefinitionSchema0"}}]},"OperationStudioProjectsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateErrorDefinitionSchema1"}}]},"OperationStudioResearchCancelInput":{"type":"object","properties":{"researchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["researchId"],"additionalProperties":false},"OperationStudioResearchCancelOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"source":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["profile"]},"socialAccountId":{"description":"A connected Instagram, TikTok or YouTube account.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"profileUrl":{"description":"A public HTTPS Instagram, TikTok or YouTube profile URL.","type":"string","minLength":1,"maxLength":2048}},"required":["kind"],"additionalProperties":false,"description":"Analyse a profile: exactly one of socialAccountId or profileUrl."},{"type":"object","properties":{"kind":{"type":"string","enum":["references"]},"urls":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"1–10 public HTTPS Instagram, TikTok or YouTube profile or item URLs."}},"required":["kind","urls"],"additionalProperties":false,"description":"Analyse reference items."},{"type":"object","properties":{"kind":{"type":"string","enum":["prompt"]},"prompt":{"type":"string","minLength":1,"maxLength":2000,"description":"What the ideas should be about."}},"required":["kind","prompt"],"additionalProperties":false,"description":"Generate ideas from a typed prompt; skips fetching and analysis."}]},"status":{"type":"string","enum":["queued","fetching","analyzing","generating_ideas","succeeded","failed","cancelled"]},"progress":{"type":"object","properties":{"stage":{"nullable":true,"description":"The current step, for example fetching or extracting_evidence.","type":"string"},"done":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["stage","done","total"],"additionalProperties":false},"failureCode":{"nullable":true,"type":"string"},"summary":{"nullable":true,"description":"Hooks, formats, topics and audience notes; null for prompt research.","type":"object","properties":{"hooks":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"formats":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"topics":{"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"audienceNotes":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":1000}},"analyzedItemCount":{"type":"integer","minimum":0,"maximum":1000}},"required":["hooks","formats","topics","audienceNotes","analyzedItemCount"],"additionalProperties":false},"ideaCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","source","status","progress","failureCode","summary","ideaCount","canManage","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationStudioResearchCancelError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_RESEARCH_NOT_CANCELLABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchCancelErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchCancelErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioResearchCancelErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioResearchCancelErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchCancelErrorDefinitionSchema0"}}]},"OperationStudioResearchCancelErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioResearchCancelErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchCancelErrorDefinitionSchema1"}}]},"OperationStudioResearchGetInput":{"type":"object","properties":{"researchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."}},"required":["researchId"],"additionalProperties":false},"OperationStudioResearchGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"source":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["profile"]},"socialAccountId":{"description":"A connected Instagram, TikTok or YouTube account.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"profileUrl":{"description":"A public HTTPS Instagram, TikTok or YouTube profile URL.","type":"string","minLength":1,"maxLength":2048}},"required":["kind"],"additionalProperties":false,"description":"Analyse a profile: exactly one of socialAccountId or profileUrl."},{"type":"object","properties":{"kind":{"type":"string","enum":["references"]},"urls":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"1–10 public HTTPS Instagram, TikTok or YouTube profile or item URLs."}},"required":["kind","urls"],"additionalProperties":false,"description":"Analyse reference items."},{"type":"object","properties":{"kind":{"type":"string","enum":["prompt"]},"prompt":{"type":"string","minLength":1,"maxLength":2000,"description":"What the ideas should be about."}},"required":["kind","prompt"],"additionalProperties":false,"description":"Generate ideas from a typed prompt; skips fetching and analysis."}]},"status":{"type":"string","enum":["queued","fetching","analyzing","generating_ideas","succeeded","failed","cancelled"]},"progress":{"type":"object","properties":{"stage":{"nullable":true,"description":"The current step, for example fetching or extracting_evidence.","type":"string"},"done":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["stage","done","total"],"additionalProperties":false},"failureCode":{"nullable":true,"type":"string"},"summary":{"nullable":true,"description":"Hooks, formats, topics and audience notes; null for prompt research.","type":"object","properties":{"hooks":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"formats":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"topics":{"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"audienceNotes":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":1000}},"analyzedItemCount":{"type":"integer","minimum":0,"maximum":1000}},"required":["hooks","formats","topics","audienceNotes","analyzedItemCount"],"additionalProperties":false},"ideaCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","source","status","progress","failureCode","summary","ideaCount","canManage","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationStudioResearchGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioResearchGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioResearchGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchGetErrorDefinitionSchema0"}}]},"OperationStudioResearchGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioResearchGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchGetErrorDefinitionSchema1"}}]},"OperationStudioResearchListInput":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"status":{"type":"string","enum":["queued","fetching","analyzing","generating_ideas","succeeded","failed","cancelled"]},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"required":["projectId"],"additionalProperties":false},"OperationStudioResearchListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"source":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["profile"]},"socialAccountId":{"description":"A connected Instagram, TikTok or YouTube account.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"profileUrl":{"description":"A public HTTPS Instagram, TikTok or YouTube profile URL.","type":"string","minLength":1,"maxLength":2048}},"required":["kind"],"additionalProperties":false,"description":"Analyse a profile: exactly one of socialAccountId or profileUrl."},{"type":"object","properties":{"kind":{"type":"string","enum":["references"]},"urls":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"1–10 public HTTPS Instagram, TikTok or YouTube profile or item URLs."}},"required":["kind","urls"],"additionalProperties":false,"description":"Analyse reference items."},{"type":"object","properties":{"kind":{"type":"string","enum":["prompt"]},"prompt":{"type":"string","minLength":1,"maxLength":2000,"description":"What the ideas should be about."}},"required":["kind","prompt"],"additionalProperties":false,"description":"Generate ideas from a typed prompt; skips fetching and analysis."}]},"status":{"type":"string","enum":["queued","fetching","analyzing","generating_ideas","succeeded","failed","cancelled"]},"progress":{"type":"object","properties":{"stage":{"nullable":true,"description":"The current step, for example fetching or extracting_evidence.","type":"string"},"done":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["stage","done","total"],"additionalProperties":false},"failureCode":{"nullable":true,"type":"string"},"summary":{"nullable":true,"description":"Hooks, formats, topics and audience notes; null for prompt research.","type":"object","properties":{"hooks":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"formats":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"topics":{"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"audienceNotes":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":1000}},"analyzedItemCount":{"type":"integer","minimum":0,"maximum":1000}},"required":["hooks","formats","topics","audienceNotes","analyzedItemCount"],"additionalProperties":false},"ideaCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","source","status","progress","failureCode","summary","ideaCount","canManage","createdAt","updatedAt","completedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioResearchListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioResearchListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioResearchListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchListErrorDefinitionSchema0"}}]},"OperationStudioResearchListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioResearchListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchListErrorDefinitionSchema1"}}]},"OperationStudioResearchStartInput":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"source":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["profile"]},"socialAccountId":{"description":"A connected Instagram, TikTok or YouTube account.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"profileUrl":{"description":"A public HTTPS Instagram, TikTok or YouTube profile URL.","type":"string","minLength":1,"maxLength":2048}},"required":["kind"],"additionalProperties":false,"description":"Analyse a profile: exactly one of socialAccountId or profileUrl."},{"type":"object","properties":{"kind":{"type":"string","enum":["references"]},"urls":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"1–10 public HTTPS Instagram, TikTok or YouTube profile or item URLs."}},"required":["kind","urls"],"additionalProperties":false,"description":"Analyse reference items."},{"type":"object","properties":{"kind":{"type":"string","enum":["prompt"]},"prompt":{"type":"string","minLength":1,"maxLength":2000,"description":"What the ideas should be about."}},"required":["kind","prompt"],"additionalProperties":false,"description":"Generate ideas from a typed prompt; skips fetching and analysis."}]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["projectId","source"],"additionalProperties":false},"OperationStudioResearchStartOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio research id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"source":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["profile"]},"socialAccountId":{"description":"A connected Instagram, TikTok or YouTube account.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"profileUrl":{"description":"A public HTTPS Instagram, TikTok or YouTube profile URL.","type":"string","minLength":1,"maxLength":2048}},"required":["kind"],"additionalProperties":false,"description":"Analyse a profile: exactly one of socialAccountId or profileUrl."},{"type":"object","properties":{"kind":{"type":"string","enum":["references"]},"urls":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"1–10 public HTTPS Instagram, TikTok or YouTube profile or item URLs."}},"required":["kind","urls"],"additionalProperties":false,"description":"Analyse reference items."},{"type":"object","properties":{"kind":{"type":"string","enum":["prompt"]},"prompt":{"type":"string","minLength":1,"maxLength":2000,"description":"What the ideas should be about."}},"required":["kind","prompt"],"additionalProperties":false,"description":"Generate ideas from a typed prompt; skips fetching and analysis."}]},"status":{"type":"string","enum":["queued","fetching","analyzing","generating_ideas","succeeded","failed","cancelled"]},"progress":{"type":"object","properties":{"stage":{"nullable":true,"description":"The current step, for example fetching or extracting_evidence.","type":"string"},"done":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["stage","done","total"],"additionalProperties":false},"failureCode":{"nullable":true,"type":"string"},"summary":{"nullable":true,"description":"Hooks, formats, topics and audience notes; null for prompt research.","type":"object","properties":{"hooks":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"formats":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"topics":{"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"audienceNotes":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":1000}},"analyzedItemCount":{"type":"integer","minimum":0,"maximum":1000}},"required":["hooks","formats","topics","audienceNotes","analyzedItemCount"],"additionalProperties":false},"ideaCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"canManage":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","source","status","progress","failureCode","summary","ideaCount","canManage","createdAt","updatedAt","completedAt"],"additionalProperties":false},"OperationStudioResearchStartError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_RESEARCH_SOURCE_INVALID"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchStartErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchStartErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioResearchStartErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioResearchStartErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchStartErrorDefinitionSchema0"}}]},"OperationStudioResearchStartErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioResearchStartErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioResearchStartErrorDefinitionSchema1"}}]},"OperationStudioSettingsGetInput":{"type":"object","properties":{}},"OperationStudioSettingsGetOutput":{"type":"object","properties":{"id":{"type":"string","description":"The account id these settings belong to; the settings are a single record per account."},"repromptAutoStartLimitCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Changes whose regeneration costs at most this many EUR cents start without confirmation; 0 always asks."},"syntheticDisclosureEnabled":{"type":"boolean","description":"Exports burn an \"AI-generated footage\" label over generated clips. Off by default; an account setting, not a per-export choice."},"currency":{"type":"string","enum":["EUR"]},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"The caller may change Studio settings and resources."},"canVerifyLikeness":{"type":"boolean","description":"Likeness verification is configured and the caller may start it."},"canGenerateVideo":{"type":"boolean","description":"Video generation providers and the Studio worker are ready."},"canPublish":{"type":"boolean","description":"Studio posts can be published from this account."}},"required":["canManage","canVerifyLikeness","canGenerateVideo","canPublish"],"additionalProperties":false},"videoModels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"label":{"type":"string"},"available":{"type":"boolean","description":"Its provider is configured; a custom quality on an unavailable model cannot be generated."},"likenessFallback":{"type":"boolean","description":"Scenes with a verified likeness run on the pro Seedance model instead, because this model cannot use the likeness."},"resolutions":{"type":"array","items":{"type":"string","enum":["480p","720p","1080p"]},"description":"Resolutions a custom quality on this model may choose, lowest first."}},"required":["id","label","available","likenessFallback","resolutions"],"additionalProperties":false},"description":"Models the custom quality may name, from the AI model catalog, in display order. ai.models.get has each model's limits."},"defaultVideoModel":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"},"description":"The model a custom quality takes when none is named; one of videoModels."},"tierModels":{"type":"object","properties":{"standard":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"}},"required":["id","label"],"additionalProperties":false},"pro":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"}},"required":["id","label"],"additionalProperties":false}},"required":["standard","pro"],"additionalProperties":false,"description":"The model each built-in quality runs now, from the studio.video roles: standard runs HeyGen when OpenRouter is configured and no override applies, pro its Seedance tier. Null when no video provider is configured."},"qualityResolutions":{"type":"object","properties":{"standard":{"type":"array","items":{"type":"string","enum":["480p","720p","1080p"]}},"pro":{"type":"array","items":{"type":"string","enum":["480p","720p","1080p"]}}},"required":["standard","pro"],"additionalProperties":false,"description":"Resolutions the standard and pro qualities may choose (studio.videos.create|update resolution), lowest first."}},"required":["id","repromptAutoStartLimitCents","syntheticDisclosureEnabled","currency","capabilities","videoModels","defaultVideoModel","tierModels","qualityResolutions"],"additionalProperties":false},"OperationStudioSettingsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioSettingsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioSettingsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioSettingsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioSettingsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioSettingsGetErrorDefinitionSchema0"}}]},"OperationStudioSettingsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioSettingsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioSettingsGetErrorDefinitionSchema1"}}]},"OperationStudioSocialAccountsListInput":{"type":"object","properties":{"platform":{"type":"string","enum":["instagram","tiktok","youtube","linkedin"]},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"additionalProperties":false},"OperationStudioSocialAccountsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Social account id (the connected provider integration id)."},"platform":{"type":"string","enum":["instagram","tiktok","youtube","linkedin"]},"handle":{"type":"string"},"status":{"type":"string","enum":["connected","scopes_missing","revoked"],"description":"connected; scopes_missing (reconnect to grant publishing); revoked (disconnected or token revoked)."},"canPublish":{"type":"boolean"},"canReadMetrics":{"type":"boolean"},"connectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","platform","handle","status","canPublish","canReadMetrics","connectedAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioSocialAccountsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioSocialAccountsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListErrorDefinitionSchema0"}}]},"OperationStudioSocialAccountsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListErrorDefinitionSchema1"}}]},"OperationStudioTemplatesGetInput":{"type":"object","properties":{"templateId":{"type":"string","enum":["product_close_up","talking_head_tip","customer_testimonial","before_after","behind_the_scenes","offer_announcement"],"description":"A starter template id (studio.templates.list)."}},"required":["templateId"],"additionalProperties":false},"OperationStudioTemplatesGetOutput":{"type":"object","properties":{"id":{"type":"string","enum":["product_close_up","talking_head_tip","customer_testimonial","before_after","behind_the_scenes","offer_announcement"],"description":"Pass as templateId to studio.videos.create."},"name":{"type":"object","properties":{"de":{"type":"string","minLength":1,"maxLength":200},"en":{"type":"string","minLength":1,"maxLength":200}},"required":["de","en"],"additionalProperties":false,"description":"Localized name of the format."},"purpose":{"type":"object","properties":{"de":{"type":"string","minLength":1,"maxLength":200},"en":{"type":"string","minLength":1,"maxLength":200}},"required":["de","en"],"additionalProperties":false,"description":"One line on what the format is for."},"exampleClip":{"nullable":true,"description":"The example clip of the format; null until one is produced.","type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"}},"required":["assetId"],"additionalProperties":false},"shape":{"type":"string","enum":["clip","story"],"description":"The recommended shape; studio.videos.create uses it unless shape is given."},"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"],"description":"The recommended aspect ratio; used unless aspectRatio is given."},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The recommended total length in seconds."},"slots":{"minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":40,"pattern":"^[a-zA-Z]+$","description":"Slot key: pass it as a key of slots."},"kind":{"type":"string","enum":["text","character","reference_images"],"description":"text: a string; character: one @Name mention of an active character; reference_images: an array of finished reference upload ids."},"required":{"type":"boolean","description":"A required slot must be given; an optional one may be left out."},"description":{"type":"string","maxLength":300,"description":"What the user puts into the slot."},"minLength":{"nullable":true,"description":"Minimum characters of a text slot (after trimming); null for none.","type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"nullable":true,"description":"Maximum characters of a text or character slot; null for none.","type":"integer","minimum":1,"maximum":9007199254740991},"maxItems":{"nullable":true,"description":"Maximum number of ids of a reference_images slot; null otherwise.","type":"integer","minimum":1,"maximum":9007199254740991},"example":{"nullable":true,"description":"A representative value for the slot; null for reference_images.","type":"string","maxLength":300}},"required":["id","kind","required","description","minLength","maxLength","maxItems","example"],"additionalProperties":false},"description":"The slots to fill with studio.videos.create { templateId, slots }."}},"required":["id","name","purpose","exampleClip","shape","aspectRatio","durationSeconds","slots"],"additionalProperties":false},"OperationStudioTemplatesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_TEMPLATE_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioTemplatesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioTemplatesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioTemplatesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioTemplatesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioTemplatesGetErrorDefinitionSchema0"}}]},"OperationStudioTemplatesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioTemplatesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioTemplatesGetErrorDefinitionSchema1"}}]},"OperationStudioTemplatesListInput":{"type":"object","properties":{},"additionalProperties":false},"OperationStudioTemplatesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["product_close_up","talking_head_tip","customer_testimonial","before_after","behind_the_scenes","offer_announcement"],"description":"Pass as templateId to studio.videos.create."},"name":{"type":"object","properties":{"de":{"type":"string","minLength":1,"maxLength":200},"en":{"type":"string","minLength":1,"maxLength":200}},"required":["de","en"],"additionalProperties":false,"description":"Localized name of the format."},"purpose":{"type":"object","properties":{"de":{"type":"string","minLength":1,"maxLength":200},"en":{"type":"string","minLength":1,"maxLength":200}},"required":["de","en"],"additionalProperties":false,"description":"One line on what the format is for."},"exampleClip":{"nullable":true,"description":"The example clip of the format; null until one is produced.","type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"}},"required":["assetId"],"additionalProperties":false},"shape":{"type":"string","enum":["clip","story"],"description":"The recommended shape; studio.videos.create uses it unless shape is given."},"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"],"description":"The recommended aspect ratio; used unless aspectRatio is given."},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The recommended total length in seconds."},"slots":{"minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":40,"pattern":"^[a-zA-Z]+$","description":"Slot key: pass it as a key of slots."},"kind":{"type":"string","enum":["text","character","reference_images"],"description":"text: a string; character: one @Name mention of an active character; reference_images: an array of finished reference upload ids."},"required":{"type":"boolean","description":"A required slot must be given; an optional one may be left out."},"description":{"type":"string","maxLength":300,"description":"What the user puts into the slot."},"minLength":{"nullable":true,"description":"Minimum characters of a text slot (after trimming); null for none.","type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"nullable":true,"description":"Maximum characters of a text or character slot; null for none.","type":"integer","minimum":1,"maximum":9007199254740991},"maxItems":{"nullable":true,"description":"Maximum number of ids of a reference_images slot; null otherwise.","type":"integer","minimum":1,"maximum":9007199254740991},"example":{"nullable":true,"description":"A representative value for the slot; null for reference_images.","type":"string","maxLength":300}},"required":["id","kind","required","description","minLength","maxLength","maxItems","example"],"additionalProperties":false},"description":"The slots to fill with studio.videos.create { templateId, slots }."}},"required":["id","name","purpose","exampleClip","shape","aspectRatio","durationSeconds","slots"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Always null: the starter catalog is one page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioTemplatesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioTemplatesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioTemplatesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioTemplatesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioTemplatesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioTemplatesListErrorDefinitionSchema0"}}]},"OperationStudioTemplatesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioTemplatesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioTemplatesListErrorDefinitionSchema1"}}]},"OperationStudioVideosBriefProposeInput":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The project the video is for; its brief, formats and defaults fill the gaps."},"prompt":{"description":"The video request as the user typed it. Mention characters as @Name. Exactly one of prompt, ideaId or templateId.","type":"string","minLength":1,"maxLength":8000},"ideaId":{"description":"Assess this idea instead of a prompt; it is not marked used. Exactly one of prompt, ideaId or templateId.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"templateId":{"description":"A starter format (studio.templates.list): its brief is rendered from slots without any AI call. Exactly one of prompt, ideaId or templateId.","type":"string","enum":["product_close_up","talking_head_tip","customer_testimonial","before_after","behind_the_scenes","offer_announcement"]},"slots":{"description":"The slot values of templateId (studio.templates.get lists them); missing or invalid values fail like studio.videos.create does.","type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":1000},{"maxItems":8,"type":"array","items":{"type":"string","maxLength":120}}]}},"referenceImageIds":{"description":"Reference images the video will use (finished studio_video_reference uploads); the assessment knows they exist.","maxItems":4,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Finished private image upload (purpose studio_video_reference; JPEG, PNG or WebP, at most 10 MB)."},"x-moreflow-opaque":{"reason":"Storage object identifiers of private uploads; storage.upload.begin creates them."}},"characterIds":{"description":"Characters to cast in addition to @mentions.","maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."}},"language":{"description":"Language of the brief; defaults to the project language.","type":"string","enum":["de","en"]}},"required":["projectId"],"additionalProperties":false},"OperationStudioVideosBriefProposeOutput":{"type":"object","properties":{"brief":{"type":"object","properties":{"goal":{"type":"string","maxLength":500,"description":"What the video should achieve for the business."},"audience":{"type":"string","maxLength":500,"description":"Who the video is for."},"coreMessage":{"type":"string","maxLength":500,"description":"The one thing a viewer should remember."},"callToAction":{"type":"string","maxLength":200,"description":"What the viewer should do next; empty for none."},"mustShow":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"Subjects, products, places or actions the video has to show."},"avoid":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What the video must not show or say."},"mood":{"type":"string","maxLength":200,"description":"Tone and visual style."},"targetSeconds":{"nullable":true,"description":"Intended total length in seconds; null lets the draft decide.","type":"integer","minimum":4,"maximum":180},"platform":{"nullable":true,"description":"The format the video is made for; null when not for one platform.","type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]},"cast":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"description":"Characters (studio.characters.get) who appear in the video."},"spoken":{"description":"What the video says, independent of how the request wrote it: hook, ranked points and the user's own script; the call to action is callToAction. Absent on briefs from a starter template or from before studio-video-brief-v3.","type":"object","properties":{"hook":{"type":"string","maxLength":200,"description":"The opening idea that wins the viewer in the first two seconds, in the video language; empty when the video says nothing."},"points":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The key points the video says, most important first. A script that runs too long drops the last point, never grammar."},"userScript":{"type":"string","maxLength":8000,"description":"The spoken words the request itself wrote (a voice-over or lines), copied exactly from it: reference for content and tone. Empty when the request wrote none."},"verbatim":{"type":"boolean","description":"True only when the request explicitly asks to keep userScript word for word (\"genau so\", \"wörtlich\", \"verbatim\", \"word for word\"); the script is then kept exactly and the length yields."}},"required":["hook","points","userScript","verbatim"],"additionalProperties":false}},"required":["goal","audience","coreMessage","callToAction","mustShow","avoid","mood","targetSeconds","platform","cast"],"additionalProperties":false},"assumptions":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["goal","audience","coreMessage","callToAction","mustShow","avoid","mood","targetSeconds","platform","cast"]},"value":{"type":"string","minLength":1,"maxLength":300,"description":"The assumed value as it reads in the brief."},"source":{"type":"string","enum":["project_brief","company_context","default","prompt"]}},"required":["field","value","source"],"additionalProperties":false},"description":"Values the prompt did not state, each with where it came from."},"missing":{"type":"array","items":{"type":"string","enum":["goal","audience","coreMessage","callToAction","mustShow","avoid","mood","targetSeconds","platform","cast"]},"description":"Brief fields that stay empty."},"questions":{"maxItems":2,"type":"array","items":{"type":"object","properties":{"question":{"type":"string","minLength":1,"maxLength":300},"choices":{"minItems":2,"maxItems":6,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"multiSelect":{"type":"boolean"}},"required":["question","choices","multiSelect"],"additionalProperties":false},"description":"At most two questions with clickable choices; empty unless readiness is needs_answers."},"readiness":{"type":"string","enum":["ready","needs_answers"],"description":"needs_answers only when the prompt names no concrete subject or action to film; otherwise ready."}},"required":["brief","assumptions","missing","questions","readiness"],"additionalProperties":false},"OperationStudioVideosBriefProposeError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","AI_QUOTA_EXCEEDED","AI_UNAVAILABLE","STUDIO_PROJECT_ARCHIVED","STUDIO_CHARACTER_MENTION_UNRESOLVED","STUDIO_CHARACTER_NOT_FOUND","STUDIO_IDEA_NOT_FOUND","STUDIO_PROMPT_REQUIRED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosBriefProposeErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeErrorDefinitionSchema0"}}]},"OperationStudioVideosBriefProposeErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeErrorDefinitionSchema1"}}]},"OperationStudioVideosChangesProposeInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"instruction":{"description":"What to change, in plain words. Required unless audioMode is given.","type":"string","minLength":1,"maxLength":2000},"sceneIds":{"description":"Only these scenes may change; omit to let the draft change any scene.","minItems":1,"maxItems":60,"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."}},"audioMode":{"description":"Switch the whole video to this audio mode: the draft rewrites the speech of every scene for it (with instruction, also applies that change). The version's audioMode shows the current one.","type":"string","enum":["voice_over","dialog","none"]},"autoStart":{"default":true,"description":"Start the regeneration automatically when it costs at most the account auto-start limit.","type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId"],"additionalProperties":false},"OperationStudioVideosChangesProposeOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"parentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"origin":{"type":"string","enum":["initial","shape_switch","change","editor","take_restore"]},"editKind":{"nullable":true,"description":"What an editor version did: quality_switch (studio.videos.update quality) or retake (studio.videos.scenes.retry); null for other versions.","type":"string","enum":["quality_switch","retake"]},"instruction":{"nullable":true,"description":"The change text of a `change` version.","type":"string"},"changedSceneIds":{"type":"array","items":{"type":"string"},"description":"Scenes that are new or differ from the parent version."},"status":{"type":"string","enum":["drafting","draft","failed"]},"autoStart":{"type":"string","enum":["not_requested","started","confirmation_required","skipped_no_cost"],"description":"Outcome of the automatic generation start of a change."},"complete":{"type":"boolean","description":"Every generated scene has a succeeded take."},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"document":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"shape":{"type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"output":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"fps":{"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene identity, stable across versions of one video."}},"title":{"type":"string","minLength":1,"maxLength":200},"visualPrompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Shot description. Without `shot` it is what the video model receives; with `shot` it is a readable description only."},"shot":{"description":"Structured English shot; when present the prompt compiler renders it for the model of each take.","type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":400,"description":"Who or what the shot is about and how it looks."},"beats":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0,"maximum":15,"description":"Beat start within the scene, in seconds."},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":15,"description":"Beat end within the scene, in seconds; after startSeconds."},"action":{"type":"string","minLength":1,"maxLength":300,"description":"The one visible action of this beat, in English, phrased positively."}},"required":["startSeconds","endSeconds","action"],"additionalProperties":false},"description":"Ordered, non-overlapping beats inside the scene duration; one action each."},"setting":{"type":"string","minLength":1,"maxLength":400,"description":"Where the shot takes place."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"Framing and one camera behaviour (static, or one move)."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"Lighting of the shot."},"style":{"type":"string","minLength":1,"maxLength":200,"description":"Visual style and rendering."},"sound":{"type":"string","maxLength":200,"description":"Ambient sound and effects when the scene records native audio; empty for none."},"constraints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What must hold for the whole shot, phrased positively (\"plain, unbranded surfaces\"); rendered last."}},"required":["subject","beats","setting","camera","light","style","sound","constraints"],"additionalProperties":false},"summary":{"description":"Short description of the scene in the video language, for display only.","type":"string","minLength":1,"maxLength":240},"spokenText":{"type":"string","maxLength":2000},"lines":{"description":"The lines of a dialog scene (audio native), each with its speaker, in order; spokenText is their words joined. Absent for every other scene.","minItems":1,"maxItems":12,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"Who says the line: a short English label of a visible person, or a cast character's name."},"text":{"type":"string","minLength":1,"maxLength":500,"description":"The words of the line, in the video language."}},"required":["speaker","text"],"additionalProperties":false}},"durationSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"source":{"type":"string","enum":["generated_video","generated_image","asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"characterIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"studio character"}},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) this generated video scene shows: the presenter's portrait is its likeness and, when the scene speaks, the presenter's fixed voice speaks its spokenText. Every scene of a video names the same presenter. Absent for a scene without one.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"}},"audio":{"type":"string","enum":["native","narration","none"]},"variant":{"description":"Re-roll token set by studio.videos.scenes.retry; a new value asks for a fresh take of an otherwise unchanged scene. Keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-roll token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"fingerprint":{"type":"string","minLength":1,"maxLength":128},"takeId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene take"},"keyframe":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","minLength":1,"maxLength":128},"approved":{"type":"boolean"},"createdAt":{"type":"string","minLength":1,"maxLength":64},"stillVariant":{"description":"Re-still token set by studio.videos.keyframes.create regenerateSceneIds. Server-issued; keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-still token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"upstreamFingerprint":{"description":"Fingerprint of the previous scene in the chain this still was made from. Server-owned; a difference from the upstream scene's present fingerprint makes the still stale through its upstream.","x-moreflow-opaque":{"reason":"Server-issued fingerprint; only its equality matters."},"type":"string","minLength":1,"maxLength":128}},"required":["assetId","promptFingerprint","approved","createdAt"],"additionalProperties":false},"continuesPrevious":{"description":"The clip continues the previous scene as one shot: it starts from the previous clip's last frame.","type":"boolean","enum":[true]}},"required":["id","title","visualPrompt","spokenText","durationSeconds","source","characterIds","audio","fingerprint","takeId"],"additionalProperties":false}},"timeline":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[2]},"output":{"default":{"aspectRatio":"9:16","resolution":"1080p","fps":30},"type":"object","properties":{"aspectRatio":{"default":"9:16","type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"default":"1080p","type":"string","enum":["480p","720p","1080p"]},"fps":{"default":30,"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"title":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},"clips":{"minItems":1,"maxItems":240,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"sceneId":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fit":{"default":"contain","type":"string","enum":["contain","cover"]},"position":{"default":{"x":0.5,"y":0.5},"type":"object","properties":{"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1}},"required":["x","y"],"additionalProperties":false},"transition":{"default":{"kind":"cut","durationSeconds":0},"type":"object","properties":{"kind":{"default":"cut","type":"string","enum":["cut","fade"]},"durationSeconds":{"default":0,"type":"number","minimum":0,"maximum":5}},"required":["kind","durationSeconds"],"additionalProperties":false}},"required":["id","sceneId","assetId","sourceStartSeconds","sourceEndSeconds","volume","fit","position","transition"],"additionalProperties":false}},"audio":{"default":[],"maxItems":120,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"kind":{"type":"string","enum":["narration","music"]},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"startSeconds":{"default":0,"type":"number","minimum":0},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fadeInSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"fadeOutSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"playbackRate":{"type":"number","minimum":1,"maximum":1.25}},"required":["id","assetId","kind","sourceStartSeconds","sourceEndSeconds","startSeconds","volume","fadeInSeconds","fadeOutSeconds"],"additionalProperties":false}},"captions":{"default":[],"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["id","startSeconds","endSeconds","text"],"additionalProperties":false}},"overlays":{"default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"kind":{"type":"string","enum":["text","image","logo"]},"text":{"type":"string","minLength":1,"maxLength":2000},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1},"width":{"default":0.3,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1},"fontSize":{"default":48,"type":"integer","minimum":12,"maximum":200},"color":{"default":"#ffffff","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["id","kind","startSeconds","endSeconds","x","y","width","fontSize","color"],"additionalProperties":false}},"narrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"managed narration","x-moreflow-opaque":{"reason":"Retired managed-narration id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"immutable brand snapshot","x-moreflow-opaque":{"reason":"Retired brand-snapshot id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshot":{"type":"object","properties":{"sourceVersion":{"type":"string","minLength":1,"maxLength":200},"logoAssetId":{"default":null,"x-moreflow-reference":{"resolver":"media.assets.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"primaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"fontFamily":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":120},"overlayStyle":{"default":"minimal","type":"string","enum":["none","minimal","strong"]},"disclosure":{"default":null,"nullable":true,"type":"string","maxLength":500}},"required":["sourceVersion","logoAssetId","primaryColor","secondaryColor","fontFamily","overlayStyle","disclosure"],"additionalProperties":false},"endCard":{"type":"object","properties":{"seconds":{"type":"integer","minimum":1,"maximum":5},"backgroundColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"logoAssetId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["seconds","backgroundColor","logoAssetId"],"additionalProperties":false}},"required":["version","output","scenes","clips","audio","captions","overlays"],"additionalProperties":false},"draftPromptVersion":{"type":"string","minLength":1,"maxLength":80},"look":{"type":"object","properties":{"setting":{"type":"string","minLength":1,"maxLength":400,"description":"The one place the whole video is set, concrete and visual, in English."},"palette":{"type":"string","minLength":1,"maxLength":200,"description":"The dominant colours of the video, in English."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"The one lighting of the whole video, in English."},"wardrobe":{"type":"string","maxLength":300,"description":"What the people wear and the recurring props, in English; empty when nobody is on camera."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"The camera language shared by every scene: lens, framing style and movement, in English."},"person":{"description":"The one recurring person who is not in the cast, in English: apparent age, hair colour and style, face, build, skin tone and clothes, identical in every shot; empty when no uncast person recurs.","type":"string","maxLength":300}},"required":["setting","palette","light","wardrobe","camera"],"additionalProperties":false},"endCard":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the export appends the brand end card."},"seconds":{"default":2,"description":"Length of the end card in seconds, 1 to 5 (default 2).","type":"integer","minimum":1,"maximum":5}},"required":["enabled","seconds"],"additionalProperties":false},"ad":{"description":"Ad layout drawn by every whole-video export: hook headline, safe-area captions, logo and an end card with offer and call to action. Absent for a video that is not an ad.","type":"object","properties":{"hook":{"type":"string","minLength":1,"maxLength":80,"description":"Hook headline shown large in the top third from the first frame, in the video language. Six words or fewer read within two seconds."},"hookSeconds":{"default":2,"description":"How long the hook headline shows from the start, 1 to 4 seconds (default 2).","type":"number","minimum":1,"maximum":4},"offer":{"type":"string","minLength":1,"maxLength":160,"description":"The offer on the end card, in the video language, as the user stated it; never an invented price or result."},"cta":{"type":"string","minLength":1,"maxLength":80,"description":"The call to action on the end card button, in the video language, e.g. \"Jetzt Termin sichern\"."},"endCardSeconds":{"default":3,"description":"Length of the ad end card in seconds, 2 to 5 (default 3).","type":"integer","minimum":2,"maximum":5}},"required":["hook","hookSeconds","offer","cta","endCardSeconds"],"additionalProperties":false},"narration":{"description":"Video-level voice-over of the narration scenes; absent or null when each narration scene is narrated per take.","nullable":true,"type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"],"description":"Prebuilt narration voice, from a closed server list."},"stylePreset":{"type":"string","enum":["calm","energetic","factual"],"description":"Delivery style of the narration, from a closed server list."},"trackId":{"nullable":true,"description":"The synthesized track of this script, voice and style; null until it is synthesized.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["voice","stylePreset","trackId"],"additionalProperties":false},"dialogue":{"description":"How the dialog is spoken: ElevenLabs guide tracks with a voice per speaker; absent or null when the video model voices it alone.","nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["elevenlabs"],"description":"ElevenLabs speaks a guide track of every dialog scene."},"voices":{"maxItems":24,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"A speaker as the dialog lines name them."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The ElevenLabs voice of that speaker."}},"required":["speaker","voice"],"additionalProperties":false},"description":"One voice per speaker of the dialog lines; a speaker without one gets a voice by its label."}},"required":["source","voices"],"additionalProperties":false},"scriptAdaptation":{"description":"How the draft changed the user's words for the voice-over script (shortened to fit, or reworded to sound spoken). Server-owned and ignored on input: kept only while the narration script is unchanged, absent when the script is the user's words, written from the brief, or edited since.","type":"object","properties":{"kind":{"type":"string","enum":["shortened","reworded"],"description":"shortened: the script was tightened to fit budgetSeconds, leaving out droppedPoints; reworded: the user's own script was rewritten to sound spoken."},"budgetSeconds":{"nullable":true,"description":"Seconds the script had to fit; null when the script decided the length.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"droppedPoints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The brief's spoken points the script leaves out, most important first."}},"required":["kind","budgetSeconds","droppedPoints"],"additionalProperties":false}},"required":["version","shape","language","quality","output","scenes","timeline"],"additionalProperties":false},"audioMode":{"nullable":true,"description":"The audio mode of the document, read from its scenes; null while drafting, after a failed draft, or for a document narrated per scene (before voice-over tracks).","type":"string","enum":["voice_over","dialog","none"]}},"required":["id","videoId","number","parentVersionId","origin","editKind","instruction","changedSceneIds","status","autoStart","complete","createdBy","createdAt","document","audioMode"],"additionalProperties":false},"OperationStudioVideosChangesProposeError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosChangesProposeErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeErrorDefinitionSchema0"}}]},"OperationStudioVideosChangesProposeErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeErrorDefinitionSchema1"}}]},"OperationStudioVideosCreateInput":{"type":"object","properties":{"prompt":{"description":"What the video should show. Mention characters as @Name. Exactly one of prompt, ideaId, templateId or ad.","type":"string","minLength":1,"maxLength":8000},"ideaId":{"description":"Turn this idea into a video; it is marked used. Exactly one of prompt, ideaId, templateId or ad.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"templateId":{"description":"A starter format (studio.templates.list): its shot structure and prompt are filled from slots, and its brief is rendered in the video language. Exactly one of prompt, ideaId, templateId or ad. With templateId, brief is optional: the brief from studio.videos.brief.propose with the same templateId and slots, edited as needed.","type":"string","enum":["product_close_up","talking_head_tip","customer_testimonial","before_after","behind_the_scenes","offer_announcement"]},"slots":{"description":"The slot values of templateId (studio.templates.get lists them); a slot that is missing or invalid fails with VALIDATION_ERROR naming it (recovery studio.templates.get).","type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":1000},{"maxItems":8,"type":"array","items":{"type":"string","maxLength":120}}]}},"ad":{"type":"object","properties":{"brief":{"type":"object","properties":{"language":{"type":"string","enum":["de","en"],"description":"The language the ad is spoken in."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the call to action names it, e.g. \"MPU-Infoabend\" or \"free first consultation\"."},"description":{"type":"string","maxLength":500,"description":"What the offer is and what the customer gets."},"price":{"nullable":true,"description":"The price exactly as the user states it; null when the ad names no price. Never proposed.","type":"string","minLength":1,"maxLength":60}},"required":["name","description","price"],"additionalProperties":false},"audience":{"type":"string","maxLength":500,"description":"Who the ad speaks to: their situation and what they want."},"mainPain":{"type":"string","maxLength":500,"description":"The one problem the ad opens with."},"objections":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What keeps the audience from buying, most common first."},"proof":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["testimonial","statistic","result","credential","other"],"description":"testimonial: a customer's own words (the only proof an ad may quote); statistic, result, credential or other: a fact the business can back."},"text":{"type":"string","minLength":1,"maxLength":400,"description":"The proof exactly as the user supplies it; numbers, prices and quotes in an ad must come from here or another brief field."},"source":{"nullable":true,"description":"Where the proof comes from (a customer's first name, a review site, a certificate); null when not stated.","type":"string","minLength":1,"maxLength":120}},"required":["kind","text","source"],"additionalProperties":false},"description":"Proof the user supplies: testimonials, numbers, results, credentials. Never proposed; an ad states no proof that is not here."},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"What the viewer does next, e.g. \"Book your seat\"."},"landingUrl":{"nullable":true,"description":"Where the ad sends the viewer; null for none.","type":"string","maxLength":2048},"brandKit":{"type":"object","properties":{"logoAssetId":{"nullable":true,"x-moreflow-reference":{"resolver":"media.assets.get"},"description":"The logo the ad end card shows; null for none.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"primaryColor":{"nullable":true,"description":"The brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"nullable":true,"description":"A second brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["logoAssetId","primaryColor","secondaryColor"],"additionalProperties":false,"description":"Logo and colours of the ad end card; seeded from the project brand."}},"required":["language","offer","audience","mainPain","objections","proof","callToAction","landingUrl","brandKit"],"additionalProperties":false,"description":"The confirmed ad brief the script was checked against."},"script":{"type":"object","properties":{"formatId":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The ad format (studio.ads.formats.list)."},"language":{"type":"string","enum":["de","en"],"description":"The language the presenter speaks; the brief's language."},"hook":{"type":"string","minLength":1,"maxLength":80,"description":"The hook headline: at most 6 words, spoken as the first beat within the first 2 seconds and shown as the headline."},"beats":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["hook","problem","proof","offer","cta"],"description":"The beat: hook, problem, proof, offer or cta, in this order."},"startSeconds":{"type":"number","minimum":0,"description":"When the beat starts; the format fixes it."},"endSeconds":{"type":"number","minimum":0,"description":"When the beat ends; the format fixes it."},"spokenText":{"type":"string","minLength":1,"maxLength":400,"description":"What the presenter says to the camera in this beat."}},"required":["role","startSeconds","endSeconds","spokenText"],"additionalProperties":false},"description":"The five timed beats in order."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the brief names it; the cta beat says it."},"price":{"nullable":true,"description":"The brief's price; null when the ad names none.","type":"string","minLength":1,"maxLength":60}},"required":["name","price"],"additionalProperties":false},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"The brief's call to action, for the end card."},"landingUrl":{"nullable":true,"description":"The brief's landing URL; null for none.","type":"string","maxLength":2048},"setting":{"type":"string","minLength":1,"maxLength":300,"description":"The one place the whole ad is filmed in, in English for the video model."},"disclosure":{"nullable":true,"description":"The label a dramatised format shows (studio.ads.formats.get disclosure, in the ad language); null otherwise.","type":"string","minLength":1,"maxLength":120},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The length of the ad."}},"required":["formatId","language","hook","beats","offer","callToAction","landingUrl","setting","disclosure","durationSeconds"],"additionalProperties":false,"description":"The checked ad script the video speaks."},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) who speaks every scene of the ad with the same face and fixed voice; it must speak the script language. Omit for the default presenter of the language; null for a presenter described in words only (the face can change between scenes).","x-moreflow-reference":{"resolver":"studio.presenters.get"},"nullable":true,"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"}},"required":["brief","script"],"additionalProperties":false,"description":"Create an ad: the confirmed ad brief, the script from studio.ads.scripts.generate (edited as needed) and the stock presenter who speaks it (presenterId, studio.presenters.list; omitted, the default presenter of the language). The script is checked against the brief again; its beats become presenter scenes in one setting, each showing the presenter's face and speaking in its fixed voice. Exactly one of prompt, ideaId, templateId or ad."},"projectId":{"description":"Omit to create a project named after the drafted title.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"shape":{"description":"clip (one scene, 4–15 s) or story (2–60 scenes, ≤ 180 s); omit to let the server suggest one.","type":"string","enum":["clip","story"]},"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"durationSeconds":{"description":"Target length; also decides the suggested shape.","type":"integer","minimum":4,"maximum":180},"quality":{"description":"standard or pro picks a Seedance tier; custom runs videoModel. Omit for the project default.","type":"string","enum":["standard","pro","custom"]},"videoModel":{"description":"The model of the custom quality (alone it implies custom); see ai.models.get.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"resolution":{"description":"Output resolution; must be one the quality and model offer (studio.settings.get resolutions). Omit for the quality's default: 720p standard, 1080p pro, a custom model's best of 720p and 1080p.","type":"string","enum":["480p","720p","1080p"]},"language":{"type":"string","enum":["de","en"]},"characterIds":{"description":"Characters to cast in addition to @mentions.","maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."}},"referenceImageIds":{"description":"Images of products, places or a style that every scene is generated against, in prompt order. Cast people as characters instead.","maxItems":4,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Finished private image upload (purpose studio_video_reference; JPEG, PNG or WebP, at most 10 MB)."},"x-moreflow-opaque":{"reason":"Storage object identifiers of private uploads; storage.upload.begin creates them."}},"brief":{"description":"The confirmed creative brief (from studio.videos.brief.propose, edited as needed). Stored on the video; every draft of the video follows it. With templateId it replaces the rendered brief fields and keeps the template. Its cast joins characterIds and its targetSeconds stands in for durationSeconds.","type":"object","properties":{"goal":{"type":"string","maxLength":500,"description":"What the video should achieve for the business."},"audience":{"type":"string","maxLength":500,"description":"Who the video is for."},"coreMessage":{"type":"string","maxLength":500,"description":"The one thing a viewer should remember."},"callToAction":{"type":"string","maxLength":200,"description":"What the viewer should do next; empty for none."},"mustShow":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"Subjects, products, places or actions the video has to show."},"avoid":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What the video must not show or say."},"mood":{"type":"string","maxLength":200,"description":"Tone and visual style."},"targetSeconds":{"nullable":true,"description":"Intended total length in seconds; null lets the draft decide.","type":"integer","minimum":4,"maximum":180},"platform":{"nullable":true,"description":"The format the video is made for; null when not for one platform.","type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]},"cast":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"description":"Characters (studio.characters.get) who appear in the video."},"spoken":{"description":"What the video says, independent of how the request wrote it: hook, ranked points and the user's own script; the call to action is callToAction. Absent on briefs from a starter template or from before studio-video-brief-v3.","type":"object","properties":{"hook":{"type":"string","maxLength":200,"description":"The opening idea that wins the viewer in the first two seconds, in the video language; empty when the video says nothing."},"points":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The key points the video says, most important first. A script that runs too long drops the last point, never grammar."},"userScript":{"type":"string","maxLength":8000,"description":"The spoken words the request itself wrote (a voice-over or lines), copied exactly from it: reference for content and tone. Empty when the request wrote none."},"verbatim":{"type":"boolean","description":"True only when the request explicitly asks to keep userScript word for word (\"genau so\", \"wörtlich\", \"verbatim\", \"word for word\"); the script is then kept exactly and the length yields."}},"required":["hook","points","userScript","verbatim"],"additionalProperties":false}},"required":["goal","audience","coreMessage","callToAction","mustShow","avoid","mood","targetSeconds","platform","cast"],"additionalProperties":false},"audioMode":{"description":"The audio mode the draft is held to. Omit to let the draft choose: a voice-over, unless the idea asks for a dialogue or a person speaking to the camera. Not with templateId, whose format fixes the audio. Switch it later with studio.videos.changes.propose audioMode.","type":"string","enum":["voice_over","dialog","none"]},"audioSource":{"description":"Who speaks. Omit for the defaults: a dialog gets ElevenLabs guide tracks with a voice per speaker, a voice-over a Gemini voice. elevenlabs for a voice-over picks an ElevenLabs voice. Change it later with studio.videos.dialogue.update or studio.videos.narration.update.","type":"string","enum":["native","elevenlabs"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"additionalProperties":false},"OperationStudioVideosCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"ideaId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio idea id."},"title":{"type":"string"},"prompt":{"nullable":true,"type":"string"},"referenceImageIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Finished private image upload (purpose studio_video_reference; JPEG, PNG or WebP, at most 10 MB)."},"x-moreflow-opaque":{"reason":"Storage object identifiers of private uploads; storage.upload.begin creates them."},"description":"Reference images every scene is generated against, in prompt order."},"brief":{"nullable":true,"description":"The confirmed creative brief the video was created with (studio.videos.create brief); every draft follows it. Null when it was created without one.","type":"object","properties":{"goal":{"type":"string","maxLength":500,"description":"What the video should achieve for the business."},"audience":{"type":"string","maxLength":500,"description":"Who the video is for."},"coreMessage":{"type":"string","maxLength":500,"description":"The one thing a viewer should remember."},"callToAction":{"type":"string","maxLength":200,"description":"What the viewer should do next; empty for none."},"mustShow":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"Subjects, products, places or actions the video has to show."},"avoid":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What the video must not show or say."},"mood":{"type":"string","maxLength":200,"description":"Tone and visual style."},"targetSeconds":{"nullable":true,"description":"Intended total length in seconds; null lets the draft decide.","type":"integer","minimum":4,"maximum":180},"platform":{"nullable":true,"description":"The format the video is made for; null when not for one platform.","type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]},"cast":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"description":"Characters (studio.characters.get) who appear in the video."},"spoken":{"description":"What the video says, independent of how the request wrote it: hook, ranked points and the user's own script; the call to action is callToAction. Absent on briefs from a starter template or from before studio-video-brief-v3.","type":"object","properties":{"hook":{"type":"string","maxLength":200,"description":"The opening idea that wins the viewer in the first two seconds, in the video language; empty when the video says nothing."},"points":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The key points the video says, most important first. A script that runs too long drops the last point, never grammar."},"userScript":{"type":"string","maxLength":8000,"description":"The spoken words the request itself wrote (a voice-over or lines), copied exactly from it: reference for content and tone. Empty when the request wrote none."},"verbatim":{"type":"boolean","description":"True only when the request explicitly asks to keep userScript word for word (\"genau so\", \"wörtlich\", \"verbatim\", \"word for word\"); the script is then kept exactly and the length yields."}},"required":["hook","points","userScript","verbatim"],"additionalProperties":false},"template":{"description":"The starter template the video was created from; absent for a video created from a prompt or an idea.","type":"object","properties":{"id":{"type":"string","enum":["product_close_up","talking_head_tip","customer_testimonial","before_after","behind_the_scenes","offer_announcement"],"description":"The starter template (studio.templates.list)."},"slots":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":1000},{"maxItems":8,"type":"array","items":{"type":"string","maxLength":120}}]},"description":"The slot values the video was created with."}},"required":["id","slots"],"additionalProperties":false},"ad":{"description":"The ad the video was created from (studio.videos.create ad): its brief and checked script, with the hook, beats, offer and call to action the ad renders. Absent for every other video.","type":"object","properties":{"brief":{"type":"object","properties":{"language":{"type":"string","enum":["de","en"],"description":"The language the ad is spoken in."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the call to action names it, e.g. \"MPU-Infoabend\" or \"free first consultation\"."},"description":{"type":"string","maxLength":500,"description":"What the offer is and what the customer gets."},"price":{"nullable":true,"description":"The price exactly as the user states it; null when the ad names no price. Never proposed.","type":"string","minLength":1,"maxLength":60}},"required":["name","description","price"],"additionalProperties":false},"audience":{"type":"string","maxLength":500,"description":"Who the ad speaks to: their situation and what they want."},"mainPain":{"type":"string","maxLength":500,"description":"The one problem the ad opens with."},"objections":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What keeps the audience from buying, most common first."},"proof":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["testimonial","statistic","result","credential","other"],"description":"testimonial: a customer's own words (the only proof an ad may quote); statistic, result, credential or other: a fact the business can back."},"text":{"type":"string","minLength":1,"maxLength":400,"description":"The proof exactly as the user supplies it; numbers, prices and quotes in an ad must come from here or another brief field."},"source":{"nullable":true,"description":"Where the proof comes from (a customer's first name, a review site, a certificate); null when not stated.","type":"string","minLength":1,"maxLength":120}},"required":["kind","text","source"],"additionalProperties":false},"description":"Proof the user supplies: testimonials, numbers, results, credentials. Never proposed; an ad states no proof that is not here."},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"What the viewer does next, e.g. \"Book your seat\"."},"landingUrl":{"nullable":true,"description":"Where the ad sends the viewer; null for none.","type":"string","maxLength":2048},"brandKit":{"type":"object","properties":{"logoAssetId":{"nullable":true,"x-moreflow-reference":{"resolver":"media.assets.get"},"description":"The logo the ad end card shows; null for none.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"primaryColor":{"nullable":true,"description":"The brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"nullable":true,"description":"A second brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["logoAssetId","primaryColor","secondaryColor"],"additionalProperties":false,"description":"Logo and colours of the ad end card; seeded from the project brand."}},"required":["language","offer","audience","mainPain","objections","proof","callToAction","landingUrl","brandKit"],"additionalProperties":false,"description":"The confirmed ad brief the script was checked against."},"script":{"type":"object","properties":{"formatId":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The ad format (studio.ads.formats.list)."},"language":{"type":"string","enum":["de","en"],"description":"The language the presenter speaks; the brief's language."},"hook":{"type":"string","minLength":1,"maxLength":80,"description":"The hook headline: at most 6 words, spoken as the first beat within the first 2 seconds and shown as the headline."},"beats":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["hook","problem","proof","offer","cta"],"description":"The beat: hook, problem, proof, offer or cta, in this order."},"startSeconds":{"type":"number","minimum":0,"description":"When the beat starts; the format fixes it."},"endSeconds":{"type":"number","minimum":0,"description":"When the beat ends; the format fixes it."},"spokenText":{"type":"string","minLength":1,"maxLength":400,"description":"What the presenter says to the camera in this beat."}},"required":["role","startSeconds","endSeconds","spokenText"],"additionalProperties":false},"description":"The five timed beats in order."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the brief names it; the cta beat says it."},"price":{"nullable":true,"description":"The brief's price; null when the ad names none.","type":"string","minLength":1,"maxLength":60}},"required":["name","price"],"additionalProperties":false},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"The brief's call to action, for the end card."},"landingUrl":{"nullable":true,"description":"The brief's landing URL; null for none.","type":"string","maxLength":2048},"setting":{"type":"string","minLength":1,"maxLength":300,"description":"The one place the whole ad is filmed in, in English for the video model."},"disclosure":{"nullable":true,"description":"The label a dramatised format shows (studio.ads.formats.get disclosure, in the ad language); null otherwise.","type":"string","minLength":1,"maxLength":120},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The length of the ad."}},"required":["formatId","language","hook","beats","offer","callToAction","landingUrl","setting","disclosure","durationSeconds"],"additionalProperties":false,"description":"The checked ad script the video speaks."},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) who speaks every scene of the ad with the same face and fixed voice; it must speak the script language. Omit for the default presenter of the language; null for a presenter described in words only (the face can change between scenes).","x-moreflow-reference":{"resolver":"studio.presenters.get"},"nullable":true,"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"}},"required":["brief","script"],"additionalProperties":false}},"required":["goal","audience","coreMessage","callToAction","mustShow","avoid","mood","targetSeconds","platform","cast"],"additionalProperties":false},"shape":{"type":"string","enum":["clip","story"]},"suggestedShape":{"nullable":true,"description":"Set by the server when drafting completes.","type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"resolution":{"type":"string","enum":["480p","720p","1080p"],"description":"Output resolution the next generation renders: the chosen one, else the quality's default."},"resolutions":{"type":"array","items":{"type":"string","enum":["480p","720p","1080p"]},"description":"Resolutions the current quality and model offer, lowest first; studio.videos.update resolution picks one."},"status":{"type":"string","enum":["drafting","draft","generating","ready","failed"]},"currentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"latestVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"activeGenerationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"latestExportId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canSwitchShape":{"type":"boolean","description":"Shape and aspect ratio can still change: no generation has started."}},"required":["canManage","canSwitchShape"],"additionalProperties":false},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","ideaId","title","prompt","referenceImageIds","brief","shape","suggestedShape","language","aspectRatio","quality","videoModel","resolution","resolutions","status","currentVersionId","latestVersionId","activeGenerationId","latestExportId","capabilities","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioVideosCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_VIDEO_MODEL_UNAVAILABLE","STUDIO_VIDEO_MODEL_CONFLICT","STUDIO_CHARACTER_MENTION_UNRESOLVED","STUDIO_CHARACTER_NOT_FOUND","STUDIO_IDEA_NOT_FOUND","STUDIO_PROJECT_ARCHIVED","STUDIO_PROMPT_REQUIRED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosCreateErrorDefinitionSchema0"}}]},"OperationStudioVideosCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosCreateErrorDefinitionSchema1"}}]},"OperationStudioVideosDeleteInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId"],"additionalProperties":false},"OperationStudioVideosDeleteOutput":{"type":"object","properties":{},"additionalProperties":false},"OperationStudioVideosDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_GENERATION_ACTIVE","STUDIO_VIDEO_HAS_SCHEDULED_POSTS"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDeleteErrorDefinitionSchema0"}}]},"OperationStudioVideosDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDeleteErrorDefinitionSchema1"}}]},"OperationStudioVideosDialogueUpdateInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"source":{"description":"elevenlabs: every dialog scene renders against an ElevenLabs guide track of its lines; native: the video model voices the dialog alone. Omit to keep it.","type":"string","enum":["native","elevenlabs"]},"voices":{"description":"New voices for these speakers; every other speaker keeps its voice. Only with the elevenlabs source.","minItems":1,"maxItems":24,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"A speaker exactly as the dialog lines of the version name them."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The ElevenLabs voice of that speaker."}},"required":["speaker","voice"],"additionalProperties":false}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId"],"additionalProperties":false},"OperationStudioVideosDialogueUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"parentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"origin":{"type":"string","enum":["initial","shape_switch","change","editor","take_restore"]},"editKind":{"nullable":true,"description":"What an editor version did: quality_switch (studio.videos.update quality) or retake (studio.videos.scenes.retry); null for other versions.","type":"string","enum":["quality_switch","retake"]},"instruction":{"nullable":true,"description":"The change text of a `change` version.","type":"string"},"changedSceneIds":{"type":"array","items":{"type":"string"},"description":"Scenes that are new or differ from the parent version."},"status":{"type":"string","enum":["drafting","draft","failed"]},"autoStart":{"type":"string","enum":["not_requested","started","confirmation_required","skipped_no_cost"],"description":"Outcome of the automatic generation start of a change."},"complete":{"type":"boolean","description":"Every generated scene has a succeeded take."},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"document":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"shape":{"type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"output":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"fps":{"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene identity, stable across versions of one video."}},"title":{"type":"string","minLength":1,"maxLength":200},"visualPrompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Shot description. Without `shot` it is what the video model receives; with `shot` it is a readable description only."},"shot":{"description":"Structured English shot; when present the prompt compiler renders it for the model of each take.","type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":400,"description":"Who or what the shot is about and how it looks."},"beats":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0,"maximum":15,"description":"Beat start within the scene, in seconds."},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":15,"description":"Beat end within the scene, in seconds; after startSeconds."},"action":{"type":"string","minLength":1,"maxLength":300,"description":"The one visible action of this beat, in English, phrased positively."}},"required":["startSeconds","endSeconds","action"],"additionalProperties":false},"description":"Ordered, non-overlapping beats inside the scene duration; one action each."},"setting":{"type":"string","minLength":1,"maxLength":400,"description":"Where the shot takes place."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"Framing and one camera behaviour (static, or one move)."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"Lighting of the shot."},"style":{"type":"string","minLength":1,"maxLength":200,"description":"Visual style and rendering."},"sound":{"type":"string","maxLength":200,"description":"Ambient sound and effects when the scene records native audio; empty for none."},"constraints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What must hold for the whole shot, phrased positively (\"plain, unbranded surfaces\"); rendered last."}},"required":["subject","beats","setting","camera","light","style","sound","constraints"],"additionalProperties":false},"summary":{"description":"Short description of the scene in the video language, for display only.","type":"string","minLength":1,"maxLength":240},"spokenText":{"type":"string","maxLength":2000},"lines":{"description":"The lines of a dialog scene (audio native), each with its speaker, in order; spokenText is their words joined. Absent for every other scene.","minItems":1,"maxItems":12,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"Who says the line: a short English label of a visible person, or a cast character's name."},"text":{"type":"string","minLength":1,"maxLength":500,"description":"The words of the line, in the video language."}},"required":["speaker","text"],"additionalProperties":false}},"durationSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"source":{"type":"string","enum":["generated_video","generated_image","asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"characterIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"studio character"}},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) this generated video scene shows: the presenter's portrait is its likeness and, when the scene speaks, the presenter's fixed voice speaks its spokenText. Every scene of a video names the same presenter. Absent for a scene without one.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"}},"audio":{"type":"string","enum":["native","narration","none"]},"variant":{"description":"Re-roll token set by studio.videos.scenes.retry; a new value asks for a fresh take of an otherwise unchanged scene. Keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-roll token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"fingerprint":{"type":"string","minLength":1,"maxLength":128},"takeId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene take"},"keyframe":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","minLength":1,"maxLength":128},"approved":{"type":"boolean"},"createdAt":{"type":"string","minLength":1,"maxLength":64},"stillVariant":{"description":"Re-still token set by studio.videos.keyframes.create regenerateSceneIds. Server-issued; keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-still token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"upstreamFingerprint":{"description":"Fingerprint of the previous scene in the chain this still was made from. Server-owned; a difference from the upstream scene's present fingerprint makes the still stale through its upstream.","x-moreflow-opaque":{"reason":"Server-issued fingerprint; only its equality matters."},"type":"string","minLength":1,"maxLength":128}},"required":["assetId","promptFingerprint","approved","createdAt"],"additionalProperties":false},"continuesPrevious":{"description":"The clip continues the previous scene as one shot: it starts from the previous clip's last frame.","type":"boolean","enum":[true]}},"required":["id","title","visualPrompt","spokenText","durationSeconds","source","characterIds","audio","fingerprint","takeId"],"additionalProperties":false}},"timeline":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[2]},"output":{"default":{"aspectRatio":"9:16","resolution":"1080p","fps":30},"type":"object","properties":{"aspectRatio":{"default":"9:16","type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"default":"1080p","type":"string","enum":["480p","720p","1080p"]},"fps":{"default":30,"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"title":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},"clips":{"minItems":1,"maxItems":240,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"sceneId":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fit":{"default":"contain","type":"string","enum":["contain","cover"]},"position":{"default":{"x":0.5,"y":0.5},"type":"object","properties":{"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1}},"required":["x","y"],"additionalProperties":false},"transition":{"default":{"kind":"cut","durationSeconds":0},"type":"object","properties":{"kind":{"default":"cut","type":"string","enum":["cut","fade"]},"durationSeconds":{"default":0,"type":"number","minimum":0,"maximum":5}},"required":["kind","durationSeconds"],"additionalProperties":false}},"required":["id","sceneId","assetId","sourceStartSeconds","sourceEndSeconds","volume","fit","position","transition"],"additionalProperties":false}},"audio":{"default":[],"maxItems":120,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"kind":{"type":"string","enum":["narration","music"]},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"startSeconds":{"default":0,"type":"number","minimum":0},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fadeInSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"fadeOutSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"playbackRate":{"type":"number","minimum":1,"maximum":1.25}},"required":["id","assetId","kind","sourceStartSeconds","sourceEndSeconds","startSeconds","volume","fadeInSeconds","fadeOutSeconds"],"additionalProperties":false}},"captions":{"default":[],"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["id","startSeconds","endSeconds","text"],"additionalProperties":false}},"overlays":{"default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"kind":{"type":"string","enum":["text","image","logo"]},"text":{"type":"string","minLength":1,"maxLength":2000},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1},"width":{"default":0.3,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1},"fontSize":{"default":48,"type":"integer","minimum":12,"maximum":200},"color":{"default":"#ffffff","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["id","kind","startSeconds","endSeconds","x","y","width","fontSize","color"],"additionalProperties":false}},"narrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"managed narration","x-moreflow-opaque":{"reason":"Retired managed-narration id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"immutable brand snapshot","x-moreflow-opaque":{"reason":"Retired brand-snapshot id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshot":{"type":"object","properties":{"sourceVersion":{"type":"string","minLength":1,"maxLength":200},"logoAssetId":{"default":null,"x-moreflow-reference":{"resolver":"media.assets.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"primaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"fontFamily":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":120},"overlayStyle":{"default":"minimal","type":"string","enum":["none","minimal","strong"]},"disclosure":{"default":null,"nullable":true,"type":"string","maxLength":500}},"required":["sourceVersion","logoAssetId","primaryColor","secondaryColor","fontFamily","overlayStyle","disclosure"],"additionalProperties":false},"endCard":{"type":"object","properties":{"seconds":{"type":"integer","minimum":1,"maximum":5},"backgroundColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"logoAssetId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["seconds","backgroundColor","logoAssetId"],"additionalProperties":false}},"required":["version","output","scenes","clips","audio","captions","overlays"],"additionalProperties":false},"draftPromptVersion":{"type":"string","minLength":1,"maxLength":80},"look":{"type":"object","properties":{"setting":{"type":"string","minLength":1,"maxLength":400,"description":"The one place the whole video is set, concrete and visual, in English."},"palette":{"type":"string","minLength":1,"maxLength":200,"description":"The dominant colours of the video, in English."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"The one lighting of the whole video, in English."},"wardrobe":{"type":"string","maxLength":300,"description":"What the people wear and the recurring props, in English; empty when nobody is on camera."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"The camera language shared by every scene: lens, framing style and movement, in English."},"person":{"description":"The one recurring person who is not in the cast, in English: apparent age, hair colour and style, face, build, skin tone and clothes, identical in every shot; empty when no uncast person recurs.","type":"string","maxLength":300}},"required":["setting","palette","light","wardrobe","camera"],"additionalProperties":false},"endCard":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the export appends the brand end card."},"seconds":{"default":2,"description":"Length of the end card in seconds, 1 to 5 (default 2).","type":"integer","minimum":1,"maximum":5}},"required":["enabled","seconds"],"additionalProperties":false},"ad":{"description":"Ad layout drawn by every whole-video export: hook headline, safe-area captions, logo and an end card with offer and call to action. Absent for a video that is not an ad.","type":"object","properties":{"hook":{"type":"string","minLength":1,"maxLength":80,"description":"Hook headline shown large in the top third from the first frame, in the video language. Six words or fewer read within two seconds."},"hookSeconds":{"default":2,"description":"How long the hook headline shows from the start, 1 to 4 seconds (default 2).","type":"number","minimum":1,"maximum":4},"offer":{"type":"string","minLength":1,"maxLength":160,"description":"The offer on the end card, in the video language, as the user stated it; never an invented price or result."},"cta":{"type":"string","minLength":1,"maxLength":80,"description":"The call to action on the end card button, in the video language, e.g. \"Jetzt Termin sichern\"."},"endCardSeconds":{"default":3,"description":"Length of the ad end card in seconds, 2 to 5 (default 3).","type":"integer","minimum":2,"maximum":5}},"required":["hook","hookSeconds","offer","cta","endCardSeconds"],"additionalProperties":false},"narration":{"description":"Video-level voice-over of the narration scenes; absent or null when each narration scene is narrated per take.","nullable":true,"type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"],"description":"Prebuilt narration voice, from a closed server list."},"stylePreset":{"type":"string","enum":["calm","energetic","factual"],"description":"Delivery style of the narration, from a closed server list."},"trackId":{"nullable":true,"description":"The synthesized track of this script, voice and style; null until it is synthesized.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["voice","stylePreset","trackId"],"additionalProperties":false},"dialogue":{"description":"How the dialog is spoken: ElevenLabs guide tracks with a voice per speaker; absent or null when the video model voices it alone.","nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["elevenlabs"],"description":"ElevenLabs speaks a guide track of every dialog scene."},"voices":{"maxItems":24,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"A speaker as the dialog lines name them."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The ElevenLabs voice of that speaker."}},"required":["speaker","voice"],"additionalProperties":false},"description":"One voice per speaker of the dialog lines; a speaker without one gets a voice by its label."}},"required":["source","voices"],"additionalProperties":false},"scriptAdaptation":{"description":"How the draft changed the user's words for the voice-over script (shortened to fit, or reworded to sound spoken). Server-owned and ignored on input: kept only while the narration script is unchanged, absent when the script is the user's words, written from the brief, or edited since.","type":"object","properties":{"kind":{"type":"string","enum":["shortened","reworded"],"description":"shortened: the script was tightened to fit budgetSeconds, leaving out droppedPoints; reworded: the user's own script was rewritten to sound spoken."},"budgetSeconds":{"nullable":true,"description":"Seconds the script had to fit; null when the script decided the length.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"droppedPoints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The brief's spoken points the script leaves out, most important first."}},"required":["kind","budgetSeconds","droppedPoints"],"additionalProperties":false}},"required":["version","shape","language","quality","output","scenes","timeline"],"additionalProperties":false},"audioMode":{"nullable":true,"description":"The audio mode of the document, read from its scenes; null while drafting, after a failed draft, or for a document narrated per scene (before voice-over tracks).","type":"string","enum":["voice_over","dialog","none"]}},"required":["id","videoId","number","parentVersionId","origin","editKind","instruction","changedSceneIds","status","autoStart","complete","createdBy","createdAt","document","audioMode"],"additionalProperties":false},"OperationStudioVideosDialogueUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_VIDEO_NOT_FOUND","STUDIO_DIALOGUE_NOT_AVAILABLE","STUDIO_ELEVENLABS_UNAVAILABLE","STUDIO_DIALOGUE_SPEAKER_NOT_FOUND","STUDIO_DIALOGUE_UNCHANGED","STUDIO_GENERATION_ACTIVE","STUDIO_VIDEO_DRAFTING"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosDialogueUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateErrorDefinitionSchema0"}}]},"OperationStudioVideosDialogueUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateErrorDefinitionSchema1"}}]},"OperationStudioVideosDuplicateInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The video to copy."},"aspectRatio":{"description":"The copy's aspect ratio; defaults to the source video's.","type":"string","enum":["9:16","1:1","16:9"]},"quality":{"description":"The copy's quality (standard and pro pick a Seedance tier, custom runs videoModel); defaults to the source video's.","type":"string","enum":["standard","pro","custom"]},"videoModel":{"description":"The copy's custom-quality model; alone it implies quality custom.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"resolution":{"description":"The copy's output resolution, one its quality offers; defaults to the source's while the copy's quality offers it, else that quality's default.","type":"string","enum":["480p","720p","1080p"]},"title":{"description":"The copy's title; defaults to the source title.","type":"string","minLength":1,"maxLength":120},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId"],"additionalProperties":false},"OperationStudioVideosDuplicateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"ideaId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio idea id."},"title":{"type":"string"},"prompt":{"nullable":true,"type":"string"},"referenceImageIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Finished private image upload (purpose studio_video_reference; JPEG, PNG or WebP, at most 10 MB)."},"x-moreflow-opaque":{"reason":"Storage object identifiers of private uploads; storage.upload.begin creates them."},"description":"Reference images every scene is generated against, in prompt order."},"brief":{"nullable":true,"description":"The confirmed creative brief the video was created with (studio.videos.create brief); every draft follows it. Null when it was created without one.","type":"object","properties":{"goal":{"type":"string","maxLength":500,"description":"What the video should achieve for the business."},"audience":{"type":"string","maxLength":500,"description":"Who the video is for."},"coreMessage":{"type":"string","maxLength":500,"description":"The one thing a viewer should remember."},"callToAction":{"type":"string","maxLength":200,"description":"What the viewer should do next; empty for none."},"mustShow":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"Subjects, products, places or actions the video has to show."},"avoid":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What the video must not show or say."},"mood":{"type":"string","maxLength":200,"description":"Tone and visual style."},"targetSeconds":{"nullable":true,"description":"Intended total length in seconds; null lets the draft decide.","type":"integer","minimum":4,"maximum":180},"platform":{"nullable":true,"description":"The format the video is made for; null when not for one platform.","type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]},"cast":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"description":"Characters (studio.characters.get) who appear in the video."},"spoken":{"description":"What the video says, independent of how the request wrote it: hook, ranked points and the user's own script; the call to action is callToAction. Absent on briefs from a starter template or from before studio-video-brief-v3.","type":"object","properties":{"hook":{"type":"string","maxLength":200,"description":"The opening idea that wins the viewer in the first two seconds, in the video language; empty when the video says nothing."},"points":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The key points the video says, most important first. A script that runs too long drops the last point, never grammar."},"userScript":{"type":"string","maxLength":8000,"description":"The spoken words the request itself wrote (a voice-over or lines), copied exactly from it: reference for content and tone. Empty when the request wrote none."},"verbatim":{"type":"boolean","description":"True only when the request explicitly asks to keep userScript word for word (\"genau so\", \"wörtlich\", \"verbatim\", \"word for word\"); the script is then kept exactly and the length yields."}},"required":["hook","points","userScript","verbatim"],"additionalProperties":false},"template":{"description":"The starter template the video was created from; absent for a video created from a prompt or an idea.","type":"object","properties":{"id":{"type":"string","enum":["product_close_up","talking_head_tip","customer_testimonial","before_after","behind_the_scenes","offer_announcement"],"description":"The starter template (studio.templates.list)."},"slots":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":1000},{"maxItems":8,"type":"array","items":{"type":"string","maxLength":120}}]},"description":"The slot values the video was created with."}},"required":["id","slots"],"additionalProperties":false},"ad":{"description":"The ad the video was created from (studio.videos.create ad): its brief and checked script, with the hook, beats, offer and call to action the ad renders. Absent for every other video.","type":"object","properties":{"brief":{"type":"object","properties":{"language":{"type":"string","enum":["de","en"],"description":"The language the ad is spoken in."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the call to action names it, e.g. \"MPU-Infoabend\" or \"free first consultation\"."},"description":{"type":"string","maxLength":500,"description":"What the offer is and what the customer gets."},"price":{"nullable":true,"description":"The price exactly as the user states it; null when the ad names no price. Never proposed.","type":"string","minLength":1,"maxLength":60}},"required":["name","description","price"],"additionalProperties":false},"audience":{"type":"string","maxLength":500,"description":"Who the ad speaks to: their situation and what they want."},"mainPain":{"type":"string","maxLength":500,"description":"The one problem the ad opens with."},"objections":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What keeps the audience from buying, most common first."},"proof":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["testimonial","statistic","result","credential","other"],"description":"testimonial: a customer's own words (the only proof an ad may quote); statistic, result, credential or other: a fact the business can back."},"text":{"type":"string","minLength":1,"maxLength":400,"description":"The proof exactly as the user supplies it; numbers, prices and quotes in an ad must come from here or another brief field."},"source":{"nullable":true,"description":"Where the proof comes from (a customer's first name, a review site, a certificate); null when not stated.","type":"string","minLength":1,"maxLength":120}},"required":["kind","text","source"],"additionalProperties":false},"description":"Proof the user supplies: testimonials, numbers, results, credentials. Never proposed; an ad states no proof that is not here."},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"What the viewer does next, e.g. \"Book your seat\"."},"landingUrl":{"nullable":true,"description":"Where the ad sends the viewer; null for none.","type":"string","maxLength":2048},"brandKit":{"type":"object","properties":{"logoAssetId":{"nullable":true,"x-moreflow-reference":{"resolver":"media.assets.get"},"description":"The logo the ad end card shows; null for none.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"primaryColor":{"nullable":true,"description":"The brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"nullable":true,"description":"A second brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["logoAssetId","primaryColor","secondaryColor"],"additionalProperties":false,"description":"Logo and colours of the ad end card; seeded from the project brand."}},"required":["language","offer","audience","mainPain","objections","proof","callToAction","landingUrl","brandKit"],"additionalProperties":false,"description":"The confirmed ad brief the script was checked against."},"script":{"type":"object","properties":{"formatId":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The ad format (studio.ads.formats.list)."},"language":{"type":"string","enum":["de","en"],"description":"The language the presenter speaks; the brief's language."},"hook":{"type":"string","minLength":1,"maxLength":80,"description":"The hook headline: at most 6 words, spoken as the first beat within the first 2 seconds and shown as the headline."},"beats":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["hook","problem","proof","offer","cta"],"description":"The beat: hook, problem, proof, offer or cta, in this order."},"startSeconds":{"type":"number","minimum":0,"description":"When the beat starts; the format fixes it."},"endSeconds":{"type":"number","minimum":0,"description":"When the beat ends; the format fixes it."},"spokenText":{"type":"string","minLength":1,"maxLength":400,"description":"What the presenter says to the camera in this beat."}},"required":["role","startSeconds","endSeconds","spokenText"],"additionalProperties":false},"description":"The five timed beats in order."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the brief names it; the cta beat says it."},"price":{"nullable":true,"description":"The brief's price; null when the ad names none.","type":"string","minLength":1,"maxLength":60}},"required":["name","price"],"additionalProperties":false},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"The brief's call to action, for the end card."},"landingUrl":{"nullable":true,"description":"The brief's landing URL; null for none.","type":"string","maxLength":2048},"setting":{"type":"string","minLength":1,"maxLength":300,"description":"The one place the whole ad is filmed in, in English for the video model."},"disclosure":{"nullable":true,"description":"The label a dramatised format shows (studio.ads.formats.get disclosure, in the ad language); null otherwise.","type":"string","minLength":1,"maxLength":120},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The length of the ad."}},"required":["formatId","language","hook","beats","offer","callToAction","landingUrl","setting","disclosure","durationSeconds"],"additionalProperties":false,"description":"The checked ad script the video speaks."},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) who speaks every scene of the ad with the same face and fixed voice; it must speak the script language. Omit for the default presenter of the language; null for a presenter described in words only (the face can change between scenes).","x-moreflow-reference":{"resolver":"studio.presenters.get"},"nullable":true,"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"}},"required":["brief","script"],"additionalProperties":false}},"required":["goal","audience","coreMessage","callToAction","mustShow","avoid","mood","targetSeconds","platform","cast"],"additionalProperties":false},"shape":{"type":"string","enum":["clip","story"]},"suggestedShape":{"nullable":true,"description":"Set by the server when drafting completes.","type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"resolution":{"type":"string","enum":["480p","720p","1080p"],"description":"Output resolution the next generation renders: the chosen one, else the quality's default."},"resolutions":{"type":"array","items":{"type":"string","enum":["480p","720p","1080p"]},"description":"Resolutions the current quality and model offer, lowest first; studio.videos.update resolution picks one."},"status":{"type":"string","enum":["drafting","draft","generating","ready","failed"]},"currentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"latestVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"activeGenerationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"latestExportId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canSwitchShape":{"type":"boolean","description":"Shape and aspect ratio can still change: no generation has started."}},"required":["canManage","canSwitchShape"],"additionalProperties":false},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","ideaId","title","prompt","referenceImageIds","brief","shape","suggestedShape","language","aspectRatio","quality","videoModel","resolution","resolutions","status","currentVersionId","latestVersionId","activeGenerationId","latestExportId","capabilities","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioVideosDuplicateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_VIDEO_MODEL_UNAVAILABLE","STUDIO_VIDEO_MODEL_CONFLICT","STUDIO_NOTHING_TO_DUPLICATE","STUDIO_VIDEO_DRAFTING","STUDIO_PROJECT_ARCHIVED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosDuplicateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateErrorDefinitionSchema0"}}]},"OperationStudioVideosDuplicateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateErrorDefinitionSchema1"}}]},"OperationStudioVideosGetInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."}},"required":["videoId"],"additionalProperties":false},"OperationStudioVideosGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"ideaId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio idea id."},"title":{"type":"string"},"prompt":{"nullable":true,"type":"string"},"referenceImageIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Finished private image upload (purpose studio_video_reference; JPEG, PNG or WebP, at most 10 MB)."},"x-moreflow-opaque":{"reason":"Storage object identifiers of private uploads; storage.upload.begin creates them."},"description":"Reference images every scene is generated against, in prompt order."},"brief":{"nullable":true,"description":"The confirmed creative brief the video was created with (studio.videos.create brief); every draft follows it. Null when it was created without one.","type":"object","properties":{"goal":{"type":"string","maxLength":500,"description":"What the video should achieve for the business."},"audience":{"type":"string","maxLength":500,"description":"Who the video is for."},"coreMessage":{"type":"string","maxLength":500,"description":"The one thing a viewer should remember."},"callToAction":{"type":"string","maxLength":200,"description":"What the viewer should do next; empty for none."},"mustShow":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"Subjects, products, places or actions the video has to show."},"avoid":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What the video must not show or say."},"mood":{"type":"string","maxLength":200,"description":"Tone and visual style."},"targetSeconds":{"nullable":true,"description":"Intended total length in seconds; null lets the draft decide.","type":"integer","minimum":4,"maximum":180},"platform":{"nullable":true,"description":"The format the video is made for; null when not for one platform.","type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]},"cast":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"description":"Characters (studio.characters.get) who appear in the video."},"spoken":{"description":"What the video says, independent of how the request wrote it: hook, ranked points and the user's own script; the call to action is callToAction. Absent on briefs from a starter template or from before studio-video-brief-v3.","type":"object","properties":{"hook":{"type":"string","maxLength":200,"description":"The opening idea that wins the viewer in the first two seconds, in the video language; empty when the video says nothing."},"points":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The key points the video says, most important first. A script that runs too long drops the last point, never grammar."},"userScript":{"type":"string","maxLength":8000,"description":"The spoken words the request itself wrote (a voice-over or lines), copied exactly from it: reference for content and tone. Empty when the request wrote none."},"verbatim":{"type":"boolean","description":"True only when the request explicitly asks to keep userScript word for word (\"genau so\", \"wörtlich\", \"verbatim\", \"word for word\"); the script is then kept exactly and the length yields."}},"required":["hook","points","userScript","verbatim"],"additionalProperties":false},"template":{"description":"The starter template the video was created from; absent for a video created from a prompt or an idea.","type":"object","properties":{"id":{"type":"string","enum":["product_close_up","talking_head_tip","customer_testimonial","before_after","behind_the_scenes","offer_announcement"],"description":"The starter template (studio.templates.list)."},"slots":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":1000},{"maxItems":8,"type":"array","items":{"type":"string","maxLength":120}}]},"description":"The slot values the video was created with."}},"required":["id","slots"],"additionalProperties":false},"ad":{"description":"The ad the video was created from (studio.videos.create ad): its brief and checked script, with the hook, beats, offer and call to action the ad renders. Absent for every other video.","type":"object","properties":{"brief":{"type":"object","properties":{"language":{"type":"string","enum":["de","en"],"description":"The language the ad is spoken in."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the call to action names it, e.g. \"MPU-Infoabend\" or \"free first consultation\"."},"description":{"type":"string","maxLength":500,"description":"What the offer is and what the customer gets."},"price":{"nullable":true,"description":"The price exactly as the user states it; null when the ad names no price. Never proposed.","type":"string","minLength":1,"maxLength":60}},"required":["name","description","price"],"additionalProperties":false},"audience":{"type":"string","maxLength":500,"description":"Who the ad speaks to: their situation and what they want."},"mainPain":{"type":"string","maxLength":500,"description":"The one problem the ad opens with."},"objections":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What keeps the audience from buying, most common first."},"proof":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["testimonial","statistic","result","credential","other"],"description":"testimonial: a customer's own words (the only proof an ad may quote); statistic, result, credential or other: a fact the business can back."},"text":{"type":"string","minLength":1,"maxLength":400,"description":"The proof exactly as the user supplies it; numbers, prices and quotes in an ad must come from here or another brief field."},"source":{"nullable":true,"description":"Where the proof comes from (a customer's first name, a review site, a certificate); null when not stated.","type":"string","minLength":1,"maxLength":120}},"required":["kind","text","source"],"additionalProperties":false},"description":"Proof the user supplies: testimonials, numbers, results, credentials. Never proposed; an ad states no proof that is not here."},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"What the viewer does next, e.g. \"Book your seat\"."},"landingUrl":{"nullable":true,"description":"Where the ad sends the viewer; null for none.","type":"string","maxLength":2048},"brandKit":{"type":"object","properties":{"logoAssetId":{"nullable":true,"x-moreflow-reference":{"resolver":"media.assets.get"},"description":"The logo the ad end card shows; null for none.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"primaryColor":{"nullable":true,"description":"The brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"nullable":true,"description":"A second brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["logoAssetId","primaryColor","secondaryColor"],"additionalProperties":false,"description":"Logo and colours of the ad end card; seeded from the project brand."}},"required":["language","offer","audience","mainPain","objections","proof","callToAction","landingUrl","brandKit"],"additionalProperties":false,"description":"The confirmed ad brief the script was checked against."},"script":{"type":"object","properties":{"formatId":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The ad format (studio.ads.formats.list)."},"language":{"type":"string","enum":["de","en"],"description":"The language the presenter speaks; the brief's language."},"hook":{"type":"string","minLength":1,"maxLength":80,"description":"The hook headline: at most 6 words, spoken as the first beat within the first 2 seconds and shown as the headline."},"beats":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["hook","problem","proof","offer","cta"],"description":"The beat: hook, problem, proof, offer or cta, in this order."},"startSeconds":{"type":"number","minimum":0,"description":"When the beat starts; the format fixes it."},"endSeconds":{"type":"number","minimum":0,"description":"When the beat ends; the format fixes it."},"spokenText":{"type":"string","minLength":1,"maxLength":400,"description":"What the presenter says to the camera in this beat."}},"required":["role","startSeconds","endSeconds","spokenText"],"additionalProperties":false},"description":"The five timed beats in order."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the brief names it; the cta beat says it."},"price":{"nullable":true,"description":"The brief's price; null when the ad names none.","type":"string","minLength":1,"maxLength":60}},"required":["name","price"],"additionalProperties":false},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"The brief's call to action, for the end card."},"landingUrl":{"nullable":true,"description":"The brief's landing URL; null for none.","type":"string","maxLength":2048},"setting":{"type":"string","minLength":1,"maxLength":300,"description":"The one place the whole ad is filmed in, in English for the video model."},"disclosure":{"nullable":true,"description":"The label a dramatised format shows (studio.ads.formats.get disclosure, in the ad language); null otherwise.","type":"string","minLength":1,"maxLength":120},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The length of the ad."}},"required":["formatId","language","hook","beats","offer","callToAction","landingUrl","setting","disclosure","durationSeconds"],"additionalProperties":false,"description":"The checked ad script the video speaks."},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) who speaks every scene of the ad with the same face and fixed voice; it must speak the script language. Omit for the default presenter of the language; null for a presenter described in words only (the face can change between scenes).","x-moreflow-reference":{"resolver":"studio.presenters.get"},"nullable":true,"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"}},"required":["brief","script"],"additionalProperties":false}},"required":["goal","audience","coreMessage","callToAction","mustShow","avoid","mood","targetSeconds","platform","cast"],"additionalProperties":false},"shape":{"type":"string","enum":["clip","story"]},"suggestedShape":{"nullable":true,"description":"Set by the server when drafting completes.","type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"resolution":{"type":"string","enum":["480p","720p","1080p"],"description":"Output resolution the next generation renders: the chosen one, else the quality's default."},"resolutions":{"type":"array","items":{"type":"string","enum":["480p","720p","1080p"]},"description":"Resolutions the current quality and model offer, lowest first; studio.videos.update resolution picks one."},"status":{"type":"string","enum":["drafting","draft","generating","ready","failed"]},"currentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"latestVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"activeGenerationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"latestExportId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canSwitchShape":{"type":"boolean","description":"Shape and aspect ratio can still change: no generation has started."},"canChangeLength":{"type":"boolean","description":"studio.videos.update durationSeconds can set the length now: the caller manages the video and nothing is drafting or generating."}},"required":["canManage","canSwitchShape","canChangeLength"],"additionalProperties":false},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lengthBounds":{"type":"object","properties":{"minSeconds":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"maxSeconds":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["minSeconds","maxSeconds"],"additionalProperties":false,"description":"The lengths studio.videos.update durationSeconds accepts: 4–180 s before the first generation (the shape follows the length), the locked shape's bounds after it (a clip 4–15 s, a story 8–180 s)."},"currentVersion":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"parentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"origin":{"type":"string","enum":["initial","shape_switch","change","editor","take_restore"]},"editKind":{"nullable":true,"description":"What an editor version did: quality_switch (studio.videos.update quality) or retake (studio.videos.scenes.retry); null for other versions.","type":"string","enum":["quality_switch","retake"]},"instruction":{"nullable":true,"description":"The change text of a `change` version.","type":"string"},"changedSceneIds":{"type":"array","items":{"type":"string"},"description":"Scenes that are new or differ from the parent version."},"status":{"type":"string","enum":["drafting","draft","failed"]},"autoStart":{"type":"string","enum":["not_requested","started","confirmation_required","skipped_no_cost"],"description":"Outcome of the automatic generation start of a change."},"complete":{"type":"boolean","description":"Every generated scene has a succeeded take."},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","number","parentVersionId","origin","editKind","instruction","changedSceneIds","status","autoStart","complete","createdBy","createdAt"],"additionalProperties":false},"activeGeneration":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"trigger":{"type":"string","enum":["initial","change","editor"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"confirmedBy":{"type":"string","enum":["user","auto_limit"]},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"startedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","versionId","trigger","status","confirmedBy","estimatedCents","startedAt"],"additionalProperties":false},"latestExport":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"scope":{"type":"string","enum":["video","scene"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"assetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Media asset id."},"durationSeconds":{"nullable":true,"description":"Measured length of the rendered file; null until the export succeeded.","type":"number"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","versionId","scope","status","assetId","durationSeconds","completedAt"],"additionalProperties":false},"failureCode":{"nullable":true,"description":"Failure code of the newest generation when the video is failed and that generation failed (for example SCENE_CONTENT_REJECTED: the video provider refused the generated scene, so change the scene before generating again; SCENE_REFERENCE_REJECTED: a reference image was refused; VIDEO_PROVIDER_UNAVAILABLE or SCENE_PROVIDER_TIMEOUT: try again later; SCENE_FAILED: scenes failed for different reasons, see studio.videos.takes.list). Failed scenes are not charged. Null for every other status, and for a failed draft or export, which carry no code. Treat an unknown code as a generic failure.","type":"string"}},"required":["id","projectId","ideaId","title","prompt","referenceImageIds","brief","shape","suggestedShape","language","aspectRatio","quality","videoModel","resolution","resolutions","status","currentVersionId","latestVersionId","activeGenerationId","latestExportId","capabilities","createdBy","createdAt","updatedAt","lengthBounds","currentVersion","activeGeneration","latestExport","failureCode"],"additionalProperties":false},"OperationStudioVideosGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosGetErrorDefinitionSchema0"}}]},"OperationStudioVideosGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosGetErrorDefinitionSchema1"}}]},"OperationStudioVideosKeyframesApproveInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","versionId","sceneId"],"additionalProperties":false},"OperationStudioVideosKeyframesApproveOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The version resource that owns these scene keyframes."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"keyframes":{"type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"state":{"type":"string","enum":["none","current","stale"],"description":"none: no keyframe; current: made from the scene as it is now; stale: the scene, or an earlier scene of its chain, changed after it was made."},"approved":{"type":"boolean","description":"The person approved the still; only an approved, current keyframe may be the first frame."},"assetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","description":"Keyframe fingerprint of the scene as it is now (the prompt, aspect ratio, reference images and the chain)."},"upstreamSceneId":{"nullable":true,"description":"The previous generated scene whose still is the first reference of this still; null for the first scene of the chain.","type":"string","minLength":1,"maxLength":120},"staleCause":{"nullable":true,"description":"Null when the keyframe is current; otherwise the cause of the state.","oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scene"],"description":"The scene itself changed, or has no still yet."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["upstream"],"description":"An earlier scene of the chain changed, or has no current still; this still starts from that scene's still."},"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"The earliest scene of the chain that is not current: remake its still and every still after it, up to this scene."}},"required":["kind","sceneId"],"additionalProperties":false}]},"chargedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What this call charged for the still, in EUR cents; 0 for a current keyframe that was reused. Never credited against a video take."}},"required":["sceneId","state","approved","assetId","promptFingerprint","upstreamSceneId","staleCause","chargedCents"],"additionalProperties":false}}},"required":["id","versionId","keyframes"],"additionalProperties":false},"OperationStudioVideosKeyframesApproveError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosKeyframesApproveErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveErrorDefinitionSchema0"}}]},"OperationStudioVideosKeyframesApproveErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveErrorDefinitionSchema1"}}]},"OperationStudioVideosKeyframesCreateInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"sceneIds":{"description":"Generated video scenes to make stills for, in any order (made in scene order). Absent: storyboard the whole video (every generated scene). A chained still starts from the previous scene's still, so an upstream scene that is not current must be in the call or current already. A current keyframe is reused at no cost.","minItems":1,"maxItems":60,"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."}},"regenerateSceneIds":{"description":"Scenes (a subset of the resolved scenes) whose still is made again even when current, as a new still. Downstream stills of the chain become stale and need this call or a later one.","minItems":1,"maxItems":60,"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."}},"expectedTotalCents":{"type":"integer","minimum":0,"maximum":1000000,"description":"The total the person saw: keyframes.totalCents of studio.generations.estimate, or the sum of versions.get keyframes[].estimatedCents for the same scenes. A higher recomputed cost fails with STUDIO_ESTIMATE_CHANGED."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","versionId","expectedTotalCents"],"additionalProperties":false},"OperationStudioVideosKeyframesCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The version resource that owns these scene keyframes."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"keyframes":{"type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"state":{"type":"string","enum":["none","current","stale"],"description":"none: no keyframe; current: made from the scene as it is now; stale: the scene, or an earlier scene of its chain, changed after it was made."},"approved":{"type":"boolean","description":"The person approved the still; only an approved, current keyframe may be the first frame."},"assetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","description":"Keyframe fingerprint of the scene as it is now (the prompt, aspect ratio, reference images and the chain)."},"upstreamSceneId":{"nullable":true,"description":"The previous generated scene whose still is the first reference of this still; null for the first scene of the chain.","type":"string","minLength":1,"maxLength":120},"staleCause":{"nullable":true,"description":"Null when the keyframe is current; otherwise the cause of the state.","oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scene"],"description":"The scene itself changed, or has no still yet."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["upstream"],"description":"An earlier scene of the chain changed, or has no current still; this still starts from that scene's still."},"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"The earliest scene of the chain that is not current: remake its still and every still after it, up to this scene."}},"required":["kind","sceneId"],"additionalProperties":false}]},"chargedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What this call charged for the still, in EUR cents; 0 for a current keyframe that was reused. Never credited against a video take."}},"required":["sceneId","state","approved","assetId","promptFingerprint","upstreamSceneId","staleCause","chargedCents"],"additionalProperties":false}}},"required":["id","versionId","keyframes"],"additionalProperties":false},"OperationStudioVideosKeyframesCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosKeyframesCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateErrorDefinitionSchema0"}}]},"OperationStudioVideosKeyframesCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateErrorDefinitionSchema1"}}]},"OperationStudioVideosListInput":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"status":{"description":"One status, or an array of statuses (any of them matches).","anyOf":[{"type":"string","enum":["drafting","draft","generating","ready","failed"]},{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","enum":["drafting","draft","generating","ready","failed"]}}]},"query":{"description":"Case-insensitive substring of the title, searched across all videos of the filter, not only one page.","type":"string","maxLength":200},"sort":{"description":"updated (default, newest update first), created (newest creation first) or title (A to Z). A cursor only works with the sort that issued it.","type":"string","enum":["updated","created","title"]},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"additionalProperties":false},"OperationStudioVideosListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"ideaId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio idea id."},"title":{"type":"string"},"prompt":{"nullable":true,"type":"string"},"referenceImageIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Finished private image upload (purpose studio_video_reference; JPEG, PNG or WebP, at most 10 MB)."},"x-moreflow-opaque":{"reason":"Storage object identifiers of private uploads; storage.upload.begin creates them."},"description":"Reference images every scene is generated against, in prompt order."},"brief":{"nullable":true,"description":"The confirmed creative brief the video was created with (studio.videos.create brief); every draft follows it. Null when it was created without one.","type":"object","properties":{"goal":{"type":"string","maxLength":500,"description":"What the video should achieve for the business."},"audience":{"type":"string","maxLength":500,"description":"Who the video is for."},"coreMessage":{"type":"string","maxLength":500,"description":"The one thing a viewer should remember."},"callToAction":{"type":"string","maxLength":200,"description":"What the viewer should do next; empty for none."},"mustShow":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"Subjects, products, places or actions the video has to show."},"avoid":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What the video must not show or say."},"mood":{"type":"string","maxLength":200,"description":"Tone and visual style."},"targetSeconds":{"nullable":true,"description":"Intended total length in seconds; null lets the draft decide.","type":"integer","minimum":4,"maximum":180},"platform":{"nullable":true,"description":"The format the video is made for; null when not for one platform.","type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]},"cast":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"description":"Characters (studio.characters.get) who appear in the video."},"spoken":{"description":"What the video says, independent of how the request wrote it: hook, ranked points and the user's own script; the call to action is callToAction. Absent on briefs from a starter template or from before studio-video-brief-v3.","type":"object","properties":{"hook":{"type":"string","maxLength":200,"description":"The opening idea that wins the viewer in the first two seconds, in the video language; empty when the video says nothing."},"points":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The key points the video says, most important first. A script that runs too long drops the last point, never grammar."},"userScript":{"type":"string","maxLength":8000,"description":"The spoken words the request itself wrote (a voice-over or lines), copied exactly from it: reference for content and tone. Empty when the request wrote none."},"verbatim":{"type":"boolean","description":"True only when the request explicitly asks to keep userScript word for word (\"genau so\", \"wörtlich\", \"verbatim\", \"word for word\"); the script is then kept exactly and the length yields."}},"required":["hook","points","userScript","verbatim"],"additionalProperties":false},"template":{"description":"The starter template the video was created from; absent for a video created from a prompt or an idea.","type":"object","properties":{"id":{"type":"string","enum":["product_close_up","talking_head_tip","customer_testimonial","before_after","behind_the_scenes","offer_announcement"],"description":"The starter template (studio.templates.list)."},"slots":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":1000},{"maxItems":8,"type":"array","items":{"type":"string","maxLength":120}}]},"description":"The slot values the video was created with."}},"required":["id","slots"],"additionalProperties":false},"ad":{"description":"The ad the video was created from (studio.videos.create ad): its brief and checked script, with the hook, beats, offer and call to action the ad renders. Absent for every other video.","type":"object","properties":{"brief":{"type":"object","properties":{"language":{"type":"string","enum":["de","en"],"description":"The language the ad is spoken in."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the call to action names it, e.g. \"MPU-Infoabend\" or \"free first consultation\"."},"description":{"type":"string","maxLength":500,"description":"What the offer is and what the customer gets."},"price":{"nullable":true,"description":"The price exactly as the user states it; null when the ad names no price. Never proposed.","type":"string","minLength":1,"maxLength":60}},"required":["name","description","price"],"additionalProperties":false},"audience":{"type":"string","maxLength":500,"description":"Who the ad speaks to: their situation and what they want."},"mainPain":{"type":"string","maxLength":500,"description":"The one problem the ad opens with."},"objections":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What keeps the audience from buying, most common first."},"proof":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["testimonial","statistic","result","credential","other"],"description":"testimonial: a customer's own words (the only proof an ad may quote); statistic, result, credential or other: a fact the business can back."},"text":{"type":"string","minLength":1,"maxLength":400,"description":"The proof exactly as the user supplies it; numbers, prices and quotes in an ad must come from here or another brief field."},"source":{"nullable":true,"description":"Where the proof comes from (a customer's first name, a review site, a certificate); null when not stated.","type":"string","minLength":1,"maxLength":120}},"required":["kind","text","source"],"additionalProperties":false},"description":"Proof the user supplies: testimonials, numbers, results, credentials. Never proposed; an ad states no proof that is not here."},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"What the viewer does next, e.g. \"Book your seat\"."},"landingUrl":{"nullable":true,"description":"Where the ad sends the viewer; null for none.","type":"string","maxLength":2048},"brandKit":{"type":"object","properties":{"logoAssetId":{"nullable":true,"x-moreflow-reference":{"resolver":"media.assets.get"},"description":"The logo the ad end card shows; null for none.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"primaryColor":{"nullable":true,"description":"The brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"nullable":true,"description":"A second brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["logoAssetId","primaryColor","secondaryColor"],"additionalProperties":false,"description":"Logo and colours of the ad end card; seeded from the project brand."}},"required":["language","offer","audience","mainPain","objections","proof","callToAction","landingUrl","brandKit"],"additionalProperties":false,"description":"The confirmed ad brief the script was checked against."},"script":{"type":"object","properties":{"formatId":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The ad format (studio.ads.formats.list)."},"language":{"type":"string","enum":["de","en"],"description":"The language the presenter speaks; the brief's language."},"hook":{"type":"string","minLength":1,"maxLength":80,"description":"The hook headline: at most 6 words, spoken as the first beat within the first 2 seconds and shown as the headline."},"beats":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["hook","problem","proof","offer","cta"],"description":"The beat: hook, problem, proof, offer or cta, in this order."},"startSeconds":{"type":"number","minimum":0,"description":"When the beat starts; the format fixes it."},"endSeconds":{"type":"number","minimum":0,"description":"When the beat ends; the format fixes it."},"spokenText":{"type":"string","minLength":1,"maxLength":400,"description":"What the presenter says to the camera in this beat."}},"required":["role","startSeconds","endSeconds","spokenText"],"additionalProperties":false},"description":"The five timed beats in order."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the brief names it; the cta beat says it."},"price":{"nullable":true,"description":"The brief's price; null when the ad names none.","type":"string","minLength":1,"maxLength":60}},"required":["name","price"],"additionalProperties":false},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"The brief's call to action, for the end card."},"landingUrl":{"nullable":true,"description":"The brief's landing URL; null for none.","type":"string","maxLength":2048},"setting":{"type":"string","minLength":1,"maxLength":300,"description":"The one place the whole ad is filmed in, in English for the video model."},"disclosure":{"nullable":true,"description":"The label a dramatised format shows (studio.ads.formats.get disclosure, in the ad language); null otherwise.","type":"string","minLength":1,"maxLength":120},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The length of the ad."}},"required":["formatId","language","hook","beats","offer","callToAction","landingUrl","setting","disclosure","durationSeconds"],"additionalProperties":false,"description":"The checked ad script the video speaks."},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) who speaks every scene of the ad with the same face and fixed voice; it must speak the script language. Omit for the default presenter of the language; null for a presenter described in words only (the face can change between scenes).","x-moreflow-reference":{"resolver":"studio.presenters.get"},"nullable":true,"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"}},"required":["brief","script"],"additionalProperties":false}},"required":["goal","audience","coreMessage","callToAction","mustShow","avoid","mood","targetSeconds","platform","cast"],"additionalProperties":false},"shape":{"type":"string","enum":["clip","story"]},"suggestedShape":{"nullable":true,"description":"Set by the server when drafting completes.","type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"resolution":{"type":"string","enum":["480p","720p","1080p"],"description":"Output resolution the next generation renders: the chosen one, else the quality's default."},"resolutions":{"type":"array","items":{"type":"string","enum":["480p","720p","1080p"]},"description":"Resolutions the current quality and model offer, lowest first; studio.videos.update resolution picks one."},"status":{"type":"string","enum":["drafting","draft","generating","ready","failed"]},"currentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"latestVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"activeGenerationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"latestExportId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canSwitchShape":{"type":"boolean","description":"Shape and aspect ratio can still change: no generation has started."}},"required":["canManage","canSwitchShape"],"additionalProperties":false},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"posterAssetId":{"nullable":true,"x-moreflow-opaque":{"reason":"Media asset id; media.assets.playbackUrl.get resolves it to a playable URL."},"description":"Asset of the latest export (the rendered MP4); the client shows its first frame as the thumbnail. Null while no export has an asset.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"durationSeconds":{"nullable":true,"description":"Running time of the current version in seconds (sum of its scene durations). Null while there is no current version document.","type":"number","minimum":0,"exclusiveMinimum":true},"failureCode":{"nullable":true,"description":"Failure code of the newest generation when the video is failed and that generation failed (for example SCENE_CONTENT_REJECTED: the video provider refused the generated scene, so change the scene before generating again; SCENE_REFERENCE_REJECTED: a reference image was refused; VIDEO_PROVIDER_UNAVAILABLE or SCENE_PROVIDER_TIMEOUT: try again later; SCENE_FAILED: scenes failed for different reasons, see studio.videos.takes.list). Failed scenes are not charged. Null for every other status, and for a failed draft or export, which carry no code. Treat an unknown code as a generic failure.","type":"string"}},"required":["id","projectId","ideaId","title","prompt","referenceImageIds","brief","shape","suggestedShape","language","aspectRatio","quality","videoModel","resolution","resolutions","status","currentVersionId","latestVersionId","activeGenerationId","latestExportId","capabilities","createdBy","createdAt","updatedAt","posterAssetId","durationSeconds","failureCode"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioVideosListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosListErrorDefinitionSchema0"}}]},"OperationStudioVideosListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosListErrorDefinitionSchema1"}}]},"OperationStudioVideosNarrationGetInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"description":"The version to read; omit for the newest drafted version, else the current one.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["videoId"],"additionalProperties":false},"OperationStudioVideosNarrationGetOutput":{"type":"object","properties":{"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"narration":{"nullable":true,"description":"The version's voice-over; null when the version has no video-level narration.","type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"]},"stylePreset":{"type":"string","enum":["calm","energetic","factual"]},"trackId":{"nullable":true,"x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."},"description":"The track the version names; null until it is synthesized.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["voice","stylePreset","trackId"],"additionalProperties":false},"track":{"nullable":true,"description":"The track the version names, else the newest track of its generations, so a running or failed synthesis is visible. Null without one.","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio narration track id."},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"durationSeconds":{"nullable":true,"description":"Measured length of the track; null until it succeeds.","type":"number"},"failureCode":{"nullable":true,"type":"string"}},"required":["id","status","durationSeconds","failureCode"],"additionalProperties":false},"fit":{"nullable":true,"description":"How the track fits the clips. Only for a succeeded track of the version's narration inputs; null otherwise.","oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["fits"]},"tempo":{"type":"number","minimum":1,"maximum":1.1,"description":"The speed the voice-over plays at across its clips (1 is unchanged; at most 1.1)."}},"required":["kind","tempo"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["does_not_fit"]},"scenes":{"minItems":1,"type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"neededSeconds":{"type":"integer","minimum":4,"maximum":15,"description":"The whole-second clip length a retake of this scene needs."},"estimatedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"What the retake of this scene costs, in cents."}},"required":["sceneId","neededSeconds","estimatedCents"],"additionalProperties":false}},"recovery":{"type":"object","properties":{"operation":{"type":"string","enum":["studio.videos.scenes.retry"]},"args":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."}},"required":["videoId","sceneId"],"additionalProperties":false}},"required":["operation","args"],"additionalProperties":false}},"required":["kind","scenes","recovery"],"additionalProperties":false}]},"voices":{"type":"array","items":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"]},"description":"The voices a voice-over can use here: the Gemini voices, and the ElevenLabs voices when ElevenLabs is configured."},"stylePresets":{"type":"array","items":{"type":"string","enum":["calm","energetic","factual"]},"description":"The delivery styles a voice-over can use."},"previews":{"type":"array","items":{"type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"]},"stylePreset":{"type":"string","enum":["calm","energetic","factual"]},"path":{"type":"string","minLength":1,"maxLength":200,"description":"Path of a short sample clip on the web app origin; resolve it against the web base URL."}},"required":["voice","stylePreset","path"],"additionalProperties":false},"description":"One sample clip per voice and style in the video language, for the picker to play before a change."},"script":{"nullable":true,"description":"The voice-over script of the version; null when the version has no video-level narration.","type":"object","properties":{"text":{"type":"string","description":"The whole voice-over script: the spoken text of the narration scenes in scene order."},"adaptation":{"nullable":true,"description":"How the draft changed the user's words to make this script (shortened to fit budgetSeconds, or reworded to sound spoken); null when the script is the user's words, was written from the brief with nothing left out, or was edited since.","type":"object","properties":{"kind":{"type":"string","enum":["shortened","reworded"],"description":"shortened: the script was tightened to fit budgetSeconds, leaving out droppedPoints; reworded: the user's own script was rewritten to sound spoken."},"budgetSeconds":{"nullable":true,"description":"Seconds the script had to fit; null when the script decided the length.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"droppedPoints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The brief's spoken points the script leaves out, most important first."}},"required":["kind","budgetSeconds","droppedPoints"],"additionalProperties":false},"original":{"nullable":true,"description":"The user's own wording when the script says something else; null when the user wrote none or the script already is it. Use it with studio.videos.narration.script.update { script: original.text }.","type":"object","properties":{"text":{"type":"string","description":"The user's own wording, from the brief."},"neededSeconds":{"type":"number","minimum":0,"description":"Seconds that wording needs at the voice-over's style, to a tenth: about how long the video gets with it."}},"required":["text","neededSeconds"],"additionalProperties":false}},"required":["text","adaptation","original"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean","description":"The caller may change the narration (OWNER or ADMIN)."},"canEditScript":{"type":"boolean","description":"The caller may set the script with studio.videos.narration.script.update: they manage the video, it is the newest drafted voice-over, and nothing is drafting or generating. Before the first generation the video is redrafted around the script; after it, a change version keeps the shape."}},"required":["canManage","canEditScript"],"additionalProperties":false}},"required":["versionId","narration","track","fit","voices","stylePresets","previews","script","capabilities"],"additionalProperties":false},"OperationStudioVideosNarrationGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_VIDEO_NOT_FOUND","STUDIO_VERSION_NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosNarrationGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetErrorDefinitionSchema0"}}]},"OperationStudioVideosNarrationGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetErrorDefinitionSchema1"}}]},"OperationStudioVideosNarrationScriptUpdateInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"script":{"type":"string","minLength":1,"maxLength":4000,"description":"The whole voice-over script, in the video language, as it should be spoken. It is kept word for word and the video is redrafted around it, so its length follows the script. To use the user's own wording, pass script.original.text from studio.videos.narration.get."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","script"],"additionalProperties":false},"OperationStudioVideosNarrationScriptUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"parentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"origin":{"type":"string","enum":["initial","shape_switch","change","editor","take_restore"]},"editKind":{"nullable":true,"description":"What an editor version did: quality_switch (studio.videos.update quality) or retake (studio.videos.scenes.retry); null for other versions.","type":"string","enum":["quality_switch","retake"]},"instruction":{"nullable":true,"description":"The change text of a `change` version.","type":"string"},"changedSceneIds":{"type":"array","items":{"type":"string"},"description":"Scenes that are new or differ from the parent version."},"status":{"type":"string","enum":["drafting","draft","failed"]},"autoStart":{"type":"string","enum":["not_requested","started","confirmation_required","skipped_no_cost"],"description":"Outcome of the automatic generation start of a change."},"complete":{"type":"boolean","description":"Every generated scene has a succeeded take."},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"document":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"shape":{"type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"output":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"fps":{"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene identity, stable across versions of one video."}},"title":{"type":"string","minLength":1,"maxLength":200},"visualPrompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Shot description. Without `shot` it is what the video model receives; with `shot` it is a readable description only."},"shot":{"description":"Structured English shot; when present the prompt compiler renders it for the model of each take.","type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":400,"description":"Who or what the shot is about and how it looks."},"beats":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0,"maximum":15,"description":"Beat start within the scene, in seconds."},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":15,"description":"Beat end within the scene, in seconds; after startSeconds."},"action":{"type":"string","minLength":1,"maxLength":300,"description":"The one visible action of this beat, in English, phrased positively."}},"required":["startSeconds","endSeconds","action"],"additionalProperties":false},"description":"Ordered, non-overlapping beats inside the scene duration; one action each."},"setting":{"type":"string","minLength":1,"maxLength":400,"description":"Where the shot takes place."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"Framing and one camera behaviour (static, or one move)."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"Lighting of the shot."},"style":{"type":"string","minLength":1,"maxLength":200,"description":"Visual style and rendering."},"sound":{"type":"string","maxLength":200,"description":"Ambient sound and effects when the scene records native audio; empty for none."},"constraints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What must hold for the whole shot, phrased positively (\"plain, unbranded surfaces\"); rendered last."}},"required":["subject","beats","setting","camera","light","style","sound","constraints"],"additionalProperties":false},"summary":{"description":"Short description of the scene in the video language, for display only.","type":"string","minLength":1,"maxLength":240},"spokenText":{"type":"string","maxLength":2000},"lines":{"description":"The lines of a dialog scene (audio native), each with its speaker, in order; spokenText is their words joined. Absent for every other scene.","minItems":1,"maxItems":12,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"Who says the line: a short English label of a visible person, or a cast character's name."},"text":{"type":"string","minLength":1,"maxLength":500,"description":"The words of the line, in the video language."}},"required":["speaker","text"],"additionalProperties":false}},"durationSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"source":{"type":"string","enum":["generated_video","generated_image","asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"characterIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"studio character"}},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) this generated video scene shows: the presenter's portrait is its likeness and, when the scene speaks, the presenter's fixed voice speaks its spokenText. Every scene of a video names the same presenter. Absent for a scene without one.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"}},"audio":{"type":"string","enum":["native","narration","none"]},"variant":{"description":"Re-roll token set by studio.videos.scenes.retry; a new value asks for a fresh take of an otherwise unchanged scene. Keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-roll token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"fingerprint":{"type":"string","minLength":1,"maxLength":128},"takeId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene take"},"keyframe":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","minLength":1,"maxLength":128},"approved":{"type":"boolean"},"createdAt":{"type":"string","minLength":1,"maxLength":64},"stillVariant":{"description":"Re-still token set by studio.videos.keyframes.create regenerateSceneIds. Server-issued; keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-still token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"upstreamFingerprint":{"description":"Fingerprint of the previous scene in the chain this still was made from. Server-owned; a difference from the upstream scene's present fingerprint makes the still stale through its upstream.","x-moreflow-opaque":{"reason":"Server-issued fingerprint; only its equality matters."},"type":"string","minLength":1,"maxLength":128}},"required":["assetId","promptFingerprint","approved","createdAt"],"additionalProperties":false},"continuesPrevious":{"description":"The clip continues the previous scene as one shot: it starts from the previous clip's last frame.","type":"boolean","enum":[true]}},"required":["id","title","visualPrompt","spokenText","durationSeconds","source","characterIds","audio","fingerprint","takeId"],"additionalProperties":false}},"timeline":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[2]},"output":{"default":{"aspectRatio":"9:16","resolution":"1080p","fps":30},"type":"object","properties":{"aspectRatio":{"default":"9:16","type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"default":"1080p","type":"string","enum":["480p","720p","1080p"]},"fps":{"default":30,"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"title":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},"clips":{"minItems":1,"maxItems":240,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"sceneId":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fit":{"default":"contain","type":"string","enum":["contain","cover"]},"position":{"default":{"x":0.5,"y":0.5},"type":"object","properties":{"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1}},"required":["x","y"],"additionalProperties":false},"transition":{"default":{"kind":"cut","durationSeconds":0},"type":"object","properties":{"kind":{"default":"cut","type":"string","enum":["cut","fade"]},"durationSeconds":{"default":0,"type":"number","minimum":0,"maximum":5}},"required":["kind","durationSeconds"],"additionalProperties":false}},"required":["id","sceneId","assetId","sourceStartSeconds","sourceEndSeconds","volume","fit","position","transition"],"additionalProperties":false}},"audio":{"default":[],"maxItems":120,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"kind":{"type":"string","enum":["narration","music"]},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"startSeconds":{"default":0,"type":"number","minimum":0},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fadeInSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"fadeOutSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"playbackRate":{"type":"number","minimum":1,"maximum":1.25}},"required":["id","assetId","kind","sourceStartSeconds","sourceEndSeconds","startSeconds","volume","fadeInSeconds","fadeOutSeconds"],"additionalProperties":false}},"captions":{"default":[],"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["id","startSeconds","endSeconds","text"],"additionalProperties":false}},"overlays":{"default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"kind":{"type":"string","enum":["text","image","logo"]},"text":{"type":"string","minLength":1,"maxLength":2000},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1},"width":{"default":0.3,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1},"fontSize":{"default":48,"type":"integer","minimum":12,"maximum":200},"color":{"default":"#ffffff","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["id","kind","startSeconds","endSeconds","x","y","width","fontSize","color"],"additionalProperties":false}},"narrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"managed narration","x-moreflow-opaque":{"reason":"Retired managed-narration id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"immutable brand snapshot","x-moreflow-opaque":{"reason":"Retired brand-snapshot id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshot":{"type":"object","properties":{"sourceVersion":{"type":"string","minLength":1,"maxLength":200},"logoAssetId":{"default":null,"x-moreflow-reference":{"resolver":"media.assets.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"primaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"fontFamily":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":120},"overlayStyle":{"default":"minimal","type":"string","enum":["none","minimal","strong"]},"disclosure":{"default":null,"nullable":true,"type":"string","maxLength":500}},"required":["sourceVersion","logoAssetId","primaryColor","secondaryColor","fontFamily","overlayStyle","disclosure"],"additionalProperties":false},"endCard":{"type":"object","properties":{"seconds":{"type":"integer","minimum":1,"maximum":5},"backgroundColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"logoAssetId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["seconds","backgroundColor","logoAssetId"],"additionalProperties":false}},"required":["version","output","scenes","clips","audio","captions","overlays"],"additionalProperties":false},"draftPromptVersion":{"type":"string","minLength":1,"maxLength":80},"look":{"type":"object","properties":{"setting":{"type":"string","minLength":1,"maxLength":400,"description":"The one place the whole video is set, concrete and visual, in English."},"palette":{"type":"string","minLength":1,"maxLength":200,"description":"The dominant colours of the video, in English."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"The one lighting of the whole video, in English."},"wardrobe":{"type":"string","maxLength":300,"description":"What the people wear and the recurring props, in English; empty when nobody is on camera."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"The camera language shared by every scene: lens, framing style and movement, in English."},"person":{"description":"The one recurring person who is not in the cast, in English: apparent age, hair colour and style, face, build, skin tone and clothes, identical in every shot; empty when no uncast person recurs.","type":"string","maxLength":300}},"required":["setting","palette","light","wardrobe","camera"],"additionalProperties":false},"endCard":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the export appends the brand end card."},"seconds":{"default":2,"description":"Length of the end card in seconds, 1 to 5 (default 2).","type":"integer","minimum":1,"maximum":5}},"required":["enabled","seconds"],"additionalProperties":false},"ad":{"description":"Ad layout drawn by every whole-video export: hook headline, safe-area captions, logo and an end card with offer and call to action. Absent for a video that is not an ad.","type":"object","properties":{"hook":{"type":"string","minLength":1,"maxLength":80,"description":"Hook headline shown large in the top third from the first frame, in the video language. Six words or fewer read within two seconds."},"hookSeconds":{"default":2,"description":"How long the hook headline shows from the start, 1 to 4 seconds (default 2).","type":"number","minimum":1,"maximum":4},"offer":{"type":"string","minLength":1,"maxLength":160,"description":"The offer on the end card, in the video language, as the user stated it; never an invented price or result."},"cta":{"type":"string","minLength":1,"maxLength":80,"description":"The call to action on the end card button, in the video language, e.g. \"Jetzt Termin sichern\"."},"endCardSeconds":{"default":3,"description":"Length of the ad end card in seconds, 2 to 5 (default 3).","type":"integer","minimum":2,"maximum":5}},"required":["hook","hookSeconds","offer","cta","endCardSeconds"],"additionalProperties":false},"narration":{"description":"Video-level voice-over of the narration scenes; absent or null when each narration scene is narrated per take.","nullable":true,"type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"],"description":"Prebuilt narration voice, from a closed server list."},"stylePreset":{"type":"string","enum":["calm","energetic","factual"],"description":"Delivery style of the narration, from a closed server list."},"trackId":{"nullable":true,"description":"The synthesized track of this script, voice and style; null until it is synthesized.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["voice","stylePreset","trackId"],"additionalProperties":false},"dialogue":{"description":"How the dialog is spoken: ElevenLabs guide tracks with a voice per speaker; absent or null when the video model voices it alone.","nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["elevenlabs"],"description":"ElevenLabs speaks a guide track of every dialog scene."},"voices":{"maxItems":24,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"A speaker as the dialog lines name them."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The ElevenLabs voice of that speaker."}},"required":["speaker","voice"],"additionalProperties":false},"description":"One voice per speaker of the dialog lines; a speaker without one gets a voice by its label."}},"required":["source","voices"],"additionalProperties":false},"scriptAdaptation":{"description":"How the draft changed the user's words for the voice-over script (shortened to fit, or reworded to sound spoken). Server-owned and ignored on input: kept only while the narration script is unchanged, absent when the script is the user's words, written from the brief, or edited since.","type":"object","properties":{"kind":{"type":"string","enum":["shortened","reworded"],"description":"shortened: the script was tightened to fit budgetSeconds, leaving out droppedPoints; reworded: the user's own script was rewritten to sound spoken."},"budgetSeconds":{"nullable":true,"description":"Seconds the script had to fit; null when the script decided the length.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"droppedPoints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The brief's spoken points the script leaves out, most important first."}},"required":["kind","budgetSeconds","droppedPoints"],"additionalProperties":false}},"required":["version","shape","language","quality","output","scenes","timeline"],"additionalProperties":false},"audioMode":{"nullable":true,"description":"The audio mode of the document, read from its scenes; null while drafting, after a failed draft, or for a document narrated per scene (before voice-over tracks).","type":"string","enum":["voice_over","dialog","none"]}},"required":["id","videoId","number","parentVersionId","origin","editKind","instruction","changedSceneIds","status","autoStart","complete","createdBy","createdAt","document","audioMode"],"additionalProperties":false},"OperationStudioVideosNarrationScriptUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_VIDEO_NOT_FOUND","STUDIO_VIDEO_DRAFTING","STUDIO_NARRATION_SCRIPT_LOCKED","STUDIO_VERSION_NOT_FOUND","STUDIO_NARRATION_NOT_AVAILABLE","STUDIO_NARRATION_SCRIPT_UNCHANGED","STUDIO_NARRATION_SCRIPT_TOO_LONG","STUDIO_VERSION_CONFLICT","STUDIO_GENERATION_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosNarrationScriptUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateErrorDefinitionSchema0"}}]},"OperationStudioVideosNarrationScriptUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateErrorDefinitionSchema1"}}]},"OperationStudioVideosNarrationUpdateInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"voice":{"description":"The new prebuilt voice; omit to keep the current one. kore, charon and sulafat are spoken by Gemini; sarah, matilda, george and daniel by ElevenLabs (only where studio.videos.narration.get lists them).","type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"]},"stylePreset":{"description":"The new delivery style; omit to keep the current one.","type":"string","enum":["calm","energetic","factual"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId"],"additionalProperties":false},"OperationStudioVideosNarrationUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"parentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"origin":{"type":"string","enum":["initial","shape_switch","change","editor","take_restore"]},"editKind":{"nullable":true,"description":"What an editor version did: quality_switch (studio.videos.update quality) or retake (studio.videos.scenes.retry); null for other versions.","type":"string","enum":["quality_switch","retake"]},"instruction":{"nullable":true,"description":"The change text of a `change` version.","type":"string"},"changedSceneIds":{"type":"array","items":{"type":"string"},"description":"Scenes that are new or differ from the parent version."},"status":{"type":"string","enum":["drafting","draft","failed"]},"autoStart":{"type":"string","enum":["not_requested","started","confirmation_required","skipped_no_cost"],"description":"Outcome of the automatic generation start of a change."},"complete":{"type":"boolean","description":"Every generated scene has a succeeded take."},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"document":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"shape":{"type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"output":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"fps":{"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene identity, stable across versions of one video."}},"title":{"type":"string","minLength":1,"maxLength":200},"visualPrompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Shot description. Without `shot` it is what the video model receives; with `shot` it is a readable description only."},"shot":{"description":"Structured English shot; when present the prompt compiler renders it for the model of each take.","type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":400,"description":"Who or what the shot is about and how it looks."},"beats":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0,"maximum":15,"description":"Beat start within the scene, in seconds."},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":15,"description":"Beat end within the scene, in seconds; after startSeconds."},"action":{"type":"string","minLength":1,"maxLength":300,"description":"The one visible action of this beat, in English, phrased positively."}},"required":["startSeconds","endSeconds","action"],"additionalProperties":false},"description":"Ordered, non-overlapping beats inside the scene duration; one action each."},"setting":{"type":"string","minLength":1,"maxLength":400,"description":"Where the shot takes place."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"Framing and one camera behaviour (static, or one move)."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"Lighting of the shot."},"style":{"type":"string","minLength":1,"maxLength":200,"description":"Visual style and rendering."},"sound":{"type":"string","maxLength":200,"description":"Ambient sound and effects when the scene records native audio; empty for none."},"constraints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What must hold for the whole shot, phrased positively (\"plain, unbranded surfaces\"); rendered last."}},"required":["subject","beats","setting","camera","light","style","sound","constraints"],"additionalProperties":false},"summary":{"description":"Short description of the scene in the video language, for display only.","type":"string","minLength":1,"maxLength":240},"spokenText":{"type":"string","maxLength":2000},"lines":{"description":"The lines of a dialog scene (audio native), each with its speaker, in order; spokenText is their words joined. Absent for every other scene.","minItems":1,"maxItems":12,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"Who says the line: a short English label of a visible person, or a cast character's name."},"text":{"type":"string","minLength":1,"maxLength":500,"description":"The words of the line, in the video language."}},"required":["speaker","text"],"additionalProperties":false}},"durationSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"source":{"type":"string","enum":["generated_video","generated_image","asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"characterIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"studio character"}},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) this generated video scene shows: the presenter's portrait is its likeness and, when the scene speaks, the presenter's fixed voice speaks its spokenText. Every scene of a video names the same presenter. Absent for a scene without one.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"}},"audio":{"type":"string","enum":["native","narration","none"]},"variant":{"description":"Re-roll token set by studio.videos.scenes.retry; a new value asks for a fresh take of an otherwise unchanged scene. Keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-roll token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"fingerprint":{"type":"string","minLength":1,"maxLength":128},"takeId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene take"},"keyframe":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","minLength":1,"maxLength":128},"approved":{"type":"boolean"},"createdAt":{"type":"string","minLength":1,"maxLength":64},"stillVariant":{"description":"Re-still token set by studio.videos.keyframes.create regenerateSceneIds. Server-issued; keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-still token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"upstreamFingerprint":{"description":"Fingerprint of the previous scene in the chain this still was made from. Server-owned; a difference from the upstream scene's present fingerprint makes the still stale through its upstream.","x-moreflow-opaque":{"reason":"Server-issued fingerprint; only its equality matters."},"type":"string","minLength":1,"maxLength":128}},"required":["assetId","promptFingerprint","approved","createdAt"],"additionalProperties":false},"continuesPrevious":{"description":"The clip continues the previous scene as one shot: it starts from the previous clip's last frame.","type":"boolean","enum":[true]}},"required":["id","title","visualPrompt","spokenText","durationSeconds","source","characterIds","audio","fingerprint","takeId"],"additionalProperties":false}},"timeline":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[2]},"output":{"default":{"aspectRatio":"9:16","resolution":"1080p","fps":30},"type":"object","properties":{"aspectRatio":{"default":"9:16","type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"default":"1080p","type":"string","enum":["480p","720p","1080p"]},"fps":{"default":30,"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"title":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},"clips":{"minItems":1,"maxItems":240,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"sceneId":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fit":{"default":"contain","type":"string","enum":["contain","cover"]},"position":{"default":{"x":0.5,"y":0.5},"type":"object","properties":{"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1}},"required":["x","y"],"additionalProperties":false},"transition":{"default":{"kind":"cut","durationSeconds":0},"type":"object","properties":{"kind":{"default":"cut","type":"string","enum":["cut","fade"]},"durationSeconds":{"default":0,"type":"number","minimum":0,"maximum":5}},"required":["kind","durationSeconds"],"additionalProperties":false}},"required":["id","sceneId","assetId","sourceStartSeconds","sourceEndSeconds","volume","fit","position","transition"],"additionalProperties":false}},"audio":{"default":[],"maxItems":120,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"kind":{"type":"string","enum":["narration","music"]},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"startSeconds":{"default":0,"type":"number","minimum":0},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fadeInSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"fadeOutSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"playbackRate":{"type":"number","minimum":1,"maximum":1.25}},"required":["id","assetId","kind","sourceStartSeconds","sourceEndSeconds","startSeconds","volume","fadeInSeconds","fadeOutSeconds"],"additionalProperties":false}},"captions":{"default":[],"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["id","startSeconds","endSeconds","text"],"additionalProperties":false}},"overlays":{"default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"kind":{"type":"string","enum":["text","image","logo"]},"text":{"type":"string","minLength":1,"maxLength":2000},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1},"width":{"default":0.3,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1},"fontSize":{"default":48,"type":"integer","minimum":12,"maximum":200},"color":{"default":"#ffffff","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["id","kind","startSeconds","endSeconds","x","y","width","fontSize","color"],"additionalProperties":false}},"narrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"managed narration","x-moreflow-opaque":{"reason":"Retired managed-narration id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"immutable brand snapshot","x-moreflow-opaque":{"reason":"Retired brand-snapshot id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshot":{"type":"object","properties":{"sourceVersion":{"type":"string","minLength":1,"maxLength":200},"logoAssetId":{"default":null,"x-moreflow-reference":{"resolver":"media.assets.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"primaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"fontFamily":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":120},"overlayStyle":{"default":"minimal","type":"string","enum":["none","minimal","strong"]},"disclosure":{"default":null,"nullable":true,"type":"string","maxLength":500}},"required":["sourceVersion","logoAssetId","primaryColor","secondaryColor","fontFamily","overlayStyle","disclosure"],"additionalProperties":false},"endCard":{"type":"object","properties":{"seconds":{"type":"integer","minimum":1,"maximum":5},"backgroundColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"logoAssetId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["seconds","backgroundColor","logoAssetId"],"additionalProperties":false}},"required":["version","output","scenes","clips","audio","captions","overlays"],"additionalProperties":false},"draftPromptVersion":{"type":"string","minLength":1,"maxLength":80},"look":{"type":"object","properties":{"setting":{"type":"string","minLength":1,"maxLength":400,"description":"The one place the whole video is set, concrete and visual, in English."},"palette":{"type":"string","minLength":1,"maxLength":200,"description":"The dominant colours of the video, in English."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"The one lighting of the whole video, in English."},"wardrobe":{"type":"string","maxLength":300,"description":"What the people wear and the recurring props, in English; empty when nobody is on camera."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"The camera language shared by every scene: lens, framing style and movement, in English."},"person":{"description":"The one recurring person who is not in the cast, in English: apparent age, hair colour and style, face, build, skin tone and clothes, identical in every shot; empty when no uncast person recurs.","type":"string","maxLength":300}},"required":["setting","palette","light","wardrobe","camera"],"additionalProperties":false},"endCard":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the export appends the brand end card."},"seconds":{"default":2,"description":"Length of the end card in seconds, 1 to 5 (default 2).","type":"integer","minimum":1,"maximum":5}},"required":["enabled","seconds"],"additionalProperties":false},"ad":{"description":"Ad layout drawn by every whole-video export: hook headline, safe-area captions, logo and an end card with offer and call to action. Absent for a video that is not an ad.","type":"object","properties":{"hook":{"type":"string","minLength":1,"maxLength":80,"description":"Hook headline shown large in the top third from the first frame, in the video language. Six words or fewer read within two seconds."},"hookSeconds":{"default":2,"description":"How long the hook headline shows from the start, 1 to 4 seconds (default 2).","type":"number","minimum":1,"maximum":4},"offer":{"type":"string","minLength":1,"maxLength":160,"description":"The offer on the end card, in the video language, as the user stated it; never an invented price or result."},"cta":{"type":"string","minLength":1,"maxLength":80,"description":"The call to action on the end card button, in the video language, e.g. \"Jetzt Termin sichern\"."},"endCardSeconds":{"default":3,"description":"Length of the ad end card in seconds, 2 to 5 (default 3).","type":"integer","minimum":2,"maximum":5}},"required":["hook","hookSeconds","offer","cta","endCardSeconds"],"additionalProperties":false},"narration":{"description":"Video-level voice-over of the narration scenes; absent or null when each narration scene is narrated per take.","nullable":true,"type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"],"description":"Prebuilt narration voice, from a closed server list."},"stylePreset":{"type":"string","enum":["calm","energetic","factual"],"description":"Delivery style of the narration, from a closed server list."},"trackId":{"nullable":true,"description":"The synthesized track of this script, voice and style; null until it is synthesized.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["voice","stylePreset","trackId"],"additionalProperties":false},"dialogue":{"description":"How the dialog is spoken: ElevenLabs guide tracks with a voice per speaker; absent or null when the video model voices it alone.","nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["elevenlabs"],"description":"ElevenLabs speaks a guide track of every dialog scene."},"voices":{"maxItems":24,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"A speaker as the dialog lines name them."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The ElevenLabs voice of that speaker."}},"required":["speaker","voice"],"additionalProperties":false},"description":"One voice per speaker of the dialog lines; a speaker without one gets a voice by its label."}},"required":["source","voices"],"additionalProperties":false},"scriptAdaptation":{"description":"How the draft changed the user's words for the voice-over script (shortened to fit, or reworded to sound spoken). Server-owned and ignored on input: kept only while the narration script is unchanged, absent when the script is the user's words, written from the brief, or edited since.","type":"object","properties":{"kind":{"type":"string","enum":["shortened","reworded"],"description":"shortened: the script was tightened to fit budgetSeconds, leaving out droppedPoints; reworded: the user's own script was rewritten to sound spoken."},"budgetSeconds":{"nullable":true,"description":"Seconds the script had to fit; null when the script decided the length.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"droppedPoints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The brief's spoken points the script leaves out, most important first."}},"required":["kind","budgetSeconds","droppedPoints"],"additionalProperties":false}},"required":["version","shape","language","quality","output","scenes","timeline"],"additionalProperties":false},"audioMode":{"nullable":true,"description":"The audio mode of the document, read from its scenes; null while drafting, after a failed draft, or for a document narrated per scene (before voice-over tracks).","type":"string","enum":["voice_over","dialog","none"]}},"required":["id","videoId","number","parentVersionId","origin","editKind","instruction","changedSceneIds","status","autoStart","complete","createdBy","createdAt","document","audioMode"],"additionalProperties":false},"OperationStudioVideosNarrationUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_VIDEO_NOT_FOUND","STUDIO_NARRATION_NOT_AVAILABLE","STUDIO_NARRATION_VOICE_UNAVAILABLE","STUDIO_NARRATION_UNCHANGED","STUDIO_GENERATION_ACTIVE","STUDIO_VIDEO_DRAFTING","STUDIO_NARRATION_DOES_NOT_FIT","STUDIO_NARRATION_ASSET_DOES_NOT_FIT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosNarrationUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateErrorDefinitionSchema0"}}]},"OperationStudioVideosNarrationUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateErrorDefinitionSchema1"}}]},"OperationStudioVideosScenesNarrationRetryInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"The narration scene whose take kept its clip without the voice-over (failureCode SCENE_NARRATION_FAILED)."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","sceneId"],"additionalProperties":false},"OperationStudioVideosScenesNarrationRetryOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"parentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"origin":{"type":"string","enum":["initial","shape_switch","change","editor","take_restore"]},"editKind":{"nullable":true,"description":"What an editor version did: quality_switch (studio.videos.update quality) or retake (studio.videos.scenes.retry); null for other versions.","type":"string","enum":["quality_switch","retake"]},"instruction":{"nullable":true,"description":"The change text of a `change` version.","type":"string"},"changedSceneIds":{"type":"array","items":{"type":"string"},"description":"Scenes that are new or differ from the parent version."},"status":{"type":"string","enum":["drafting","draft","failed"]},"autoStart":{"type":"string","enum":["not_requested","started","confirmation_required","skipped_no_cost"],"description":"Outcome of the automatic generation start of a change."},"complete":{"type":"boolean","description":"Every generated scene has a succeeded take."},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"document":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"shape":{"type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"output":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"fps":{"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene identity, stable across versions of one video."}},"title":{"type":"string","minLength":1,"maxLength":200},"visualPrompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Shot description. Without `shot` it is what the video model receives; with `shot` it is a readable description only."},"shot":{"description":"Structured English shot; when present the prompt compiler renders it for the model of each take.","type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":400,"description":"Who or what the shot is about and how it looks."},"beats":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0,"maximum":15,"description":"Beat start within the scene, in seconds."},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":15,"description":"Beat end within the scene, in seconds; after startSeconds."},"action":{"type":"string","minLength":1,"maxLength":300,"description":"The one visible action of this beat, in English, phrased positively."}},"required":["startSeconds","endSeconds","action"],"additionalProperties":false},"description":"Ordered, non-overlapping beats inside the scene duration; one action each."},"setting":{"type":"string","minLength":1,"maxLength":400,"description":"Where the shot takes place."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"Framing and one camera behaviour (static, or one move)."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"Lighting of the shot."},"style":{"type":"string","minLength":1,"maxLength":200,"description":"Visual style and rendering."},"sound":{"type":"string","maxLength":200,"description":"Ambient sound and effects when the scene records native audio; empty for none."},"constraints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What must hold for the whole shot, phrased positively (\"plain, unbranded surfaces\"); rendered last."}},"required":["subject","beats","setting","camera","light","style","sound","constraints"],"additionalProperties":false},"summary":{"description":"Short description of the scene in the video language, for display only.","type":"string","minLength":1,"maxLength":240},"spokenText":{"type":"string","maxLength":2000},"lines":{"description":"The lines of a dialog scene (audio native), each with its speaker, in order; spokenText is their words joined. Absent for every other scene.","minItems":1,"maxItems":12,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"Who says the line: a short English label of a visible person, or a cast character's name."},"text":{"type":"string","minLength":1,"maxLength":500,"description":"The words of the line, in the video language."}},"required":["speaker","text"],"additionalProperties":false}},"durationSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"source":{"type":"string","enum":["generated_video","generated_image","asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"characterIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"studio character"}},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) this generated video scene shows: the presenter's portrait is its likeness and, when the scene speaks, the presenter's fixed voice speaks its spokenText. Every scene of a video names the same presenter. Absent for a scene without one.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"}},"audio":{"type":"string","enum":["native","narration","none"]},"variant":{"description":"Re-roll token set by studio.videos.scenes.retry; a new value asks for a fresh take of an otherwise unchanged scene. Keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-roll token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"fingerprint":{"type":"string","minLength":1,"maxLength":128},"takeId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene take"},"keyframe":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","minLength":1,"maxLength":128},"approved":{"type":"boolean"},"createdAt":{"type":"string","minLength":1,"maxLength":64},"stillVariant":{"description":"Re-still token set by studio.videos.keyframes.create regenerateSceneIds. Server-issued; keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-still token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"upstreamFingerprint":{"description":"Fingerprint of the previous scene in the chain this still was made from. Server-owned; a difference from the upstream scene's present fingerprint makes the still stale through its upstream.","x-moreflow-opaque":{"reason":"Server-issued fingerprint; only its equality matters."},"type":"string","minLength":1,"maxLength":128}},"required":["assetId","promptFingerprint","approved","createdAt"],"additionalProperties":false},"continuesPrevious":{"description":"The clip continues the previous scene as one shot: it starts from the previous clip's last frame.","type":"boolean","enum":[true]}},"required":["id","title","visualPrompt","spokenText","durationSeconds","source","characterIds","audio","fingerprint","takeId"],"additionalProperties":false}},"timeline":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[2]},"output":{"default":{"aspectRatio":"9:16","resolution":"1080p","fps":30},"type":"object","properties":{"aspectRatio":{"default":"9:16","type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"default":"1080p","type":"string","enum":["480p","720p","1080p"]},"fps":{"default":30,"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"title":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},"clips":{"minItems":1,"maxItems":240,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"sceneId":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fit":{"default":"contain","type":"string","enum":["contain","cover"]},"position":{"default":{"x":0.5,"y":0.5},"type":"object","properties":{"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1}},"required":["x","y"],"additionalProperties":false},"transition":{"default":{"kind":"cut","durationSeconds":0},"type":"object","properties":{"kind":{"default":"cut","type":"string","enum":["cut","fade"]},"durationSeconds":{"default":0,"type":"number","minimum":0,"maximum":5}},"required":["kind","durationSeconds"],"additionalProperties":false}},"required":["id","sceneId","assetId","sourceStartSeconds","sourceEndSeconds","volume","fit","position","transition"],"additionalProperties":false}},"audio":{"default":[],"maxItems":120,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"kind":{"type":"string","enum":["narration","music"]},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"startSeconds":{"default":0,"type":"number","minimum":0},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fadeInSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"fadeOutSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"playbackRate":{"type":"number","minimum":1,"maximum":1.25}},"required":["id","assetId","kind","sourceStartSeconds","sourceEndSeconds","startSeconds","volume","fadeInSeconds","fadeOutSeconds"],"additionalProperties":false}},"captions":{"default":[],"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["id","startSeconds","endSeconds","text"],"additionalProperties":false}},"overlays":{"default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"kind":{"type":"string","enum":["text","image","logo"]},"text":{"type":"string","minLength":1,"maxLength":2000},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1},"width":{"default":0.3,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1},"fontSize":{"default":48,"type":"integer","minimum":12,"maximum":200},"color":{"default":"#ffffff","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["id","kind","startSeconds","endSeconds","x","y","width","fontSize","color"],"additionalProperties":false}},"narrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"managed narration","x-moreflow-opaque":{"reason":"Retired managed-narration id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"immutable brand snapshot","x-moreflow-opaque":{"reason":"Retired brand-snapshot id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshot":{"type":"object","properties":{"sourceVersion":{"type":"string","minLength":1,"maxLength":200},"logoAssetId":{"default":null,"x-moreflow-reference":{"resolver":"media.assets.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"primaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"fontFamily":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":120},"overlayStyle":{"default":"minimal","type":"string","enum":["none","minimal","strong"]},"disclosure":{"default":null,"nullable":true,"type":"string","maxLength":500}},"required":["sourceVersion","logoAssetId","primaryColor","secondaryColor","fontFamily","overlayStyle","disclosure"],"additionalProperties":false},"endCard":{"type":"object","properties":{"seconds":{"type":"integer","minimum":1,"maximum":5},"backgroundColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"logoAssetId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["seconds","backgroundColor","logoAssetId"],"additionalProperties":false}},"required":["version","output","scenes","clips","audio","captions","overlays"],"additionalProperties":false},"draftPromptVersion":{"type":"string","minLength":1,"maxLength":80},"look":{"type":"object","properties":{"setting":{"type":"string","minLength":1,"maxLength":400,"description":"The one place the whole video is set, concrete and visual, in English."},"palette":{"type":"string","minLength":1,"maxLength":200,"description":"The dominant colours of the video, in English."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"The one lighting of the whole video, in English."},"wardrobe":{"type":"string","maxLength":300,"description":"What the people wear and the recurring props, in English; empty when nobody is on camera."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"The camera language shared by every scene: lens, framing style and movement, in English."},"person":{"description":"The one recurring person who is not in the cast, in English: apparent age, hair colour and style, face, build, skin tone and clothes, identical in every shot; empty when no uncast person recurs.","type":"string","maxLength":300}},"required":["setting","palette","light","wardrobe","camera"],"additionalProperties":false},"endCard":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the export appends the brand end card."},"seconds":{"default":2,"description":"Length of the end card in seconds, 1 to 5 (default 2).","type":"integer","minimum":1,"maximum":5}},"required":["enabled","seconds"],"additionalProperties":false},"ad":{"description":"Ad layout drawn by every whole-video export: hook headline, safe-area captions, logo and an end card with offer and call to action. Absent for a video that is not an ad.","type":"object","properties":{"hook":{"type":"string","minLength":1,"maxLength":80,"description":"Hook headline shown large in the top third from the first frame, in the video language. Six words or fewer read within two seconds."},"hookSeconds":{"default":2,"description":"How long the hook headline shows from the start, 1 to 4 seconds (default 2).","type":"number","minimum":1,"maximum":4},"offer":{"type":"string","minLength":1,"maxLength":160,"description":"The offer on the end card, in the video language, as the user stated it; never an invented price or result."},"cta":{"type":"string","minLength":1,"maxLength":80,"description":"The call to action on the end card button, in the video language, e.g. \"Jetzt Termin sichern\"."},"endCardSeconds":{"default":3,"description":"Length of the ad end card in seconds, 2 to 5 (default 3).","type":"integer","minimum":2,"maximum":5}},"required":["hook","hookSeconds","offer","cta","endCardSeconds"],"additionalProperties":false},"narration":{"description":"Video-level voice-over of the narration scenes; absent or null when each narration scene is narrated per take.","nullable":true,"type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"],"description":"Prebuilt narration voice, from a closed server list."},"stylePreset":{"type":"string","enum":["calm","energetic","factual"],"description":"Delivery style of the narration, from a closed server list."},"trackId":{"nullable":true,"description":"The synthesized track of this script, voice and style; null until it is synthesized.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["voice","stylePreset","trackId"],"additionalProperties":false},"dialogue":{"description":"How the dialog is spoken: ElevenLabs guide tracks with a voice per speaker; absent or null when the video model voices it alone.","nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["elevenlabs"],"description":"ElevenLabs speaks a guide track of every dialog scene."},"voices":{"maxItems":24,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"A speaker as the dialog lines name them."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The ElevenLabs voice of that speaker."}},"required":["speaker","voice"],"additionalProperties":false},"description":"One voice per speaker of the dialog lines; a speaker without one gets a voice by its label."}},"required":["source","voices"],"additionalProperties":false},"scriptAdaptation":{"description":"How the draft changed the user's words for the voice-over script (shortened to fit, or reworded to sound spoken). Server-owned and ignored on input: kept only while the narration script is unchanged, absent when the script is the user's words, written from the brief, or edited since.","type":"object","properties":{"kind":{"type":"string","enum":["shortened","reworded"],"description":"shortened: the script was tightened to fit budgetSeconds, leaving out droppedPoints; reworded: the user's own script was rewritten to sound spoken."},"budgetSeconds":{"nullable":true,"description":"Seconds the script had to fit; null when the script decided the length.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"droppedPoints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The brief's spoken points the script leaves out, most important first."}},"required":["kind","budgetSeconds","droppedPoints"],"additionalProperties":false}},"required":["version","shape","language","quality","output","scenes","timeline"],"additionalProperties":false},"audioMode":{"nullable":true,"description":"The audio mode of the document, read from its scenes; null while drafting, after a failed draft, or for a document narrated per scene (before voice-over tracks).","type":"string","enum":["voice_over","dialog","none"]}},"required":["id","videoId","number","parentVersionId","origin","editKind","instruction","changedSceneIds","status","autoStart","complete","createdBy","createdAt","document","audioMode"],"additionalProperties":false},"OperationStudioVideosScenesNarrationRetryError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_SCENE_NOT_FOUND","STUDIO_SCENE_NARRATION_NOT_MISSING","STUDIO_GENERATION_ACTIVE","STUDIO_VIDEO_DRAFTING"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosScenesNarrationRetryErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryErrorDefinitionSchema0"}}]},"OperationStudioVideosScenesNarrationRetryErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryErrorDefinitionSchema1"}}]},"OperationStudioVideosScenesRetryInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"The generated scene of the newest drafted version to generate again."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","sceneId"],"additionalProperties":false},"OperationStudioVideosScenesRetryOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"parentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"origin":{"type":"string","enum":["initial","shape_switch","change","editor","take_restore"]},"editKind":{"nullable":true,"description":"What an editor version did: quality_switch (studio.videos.update quality) or retake (studio.videos.scenes.retry); null for other versions.","type":"string","enum":["quality_switch","retake"]},"instruction":{"nullable":true,"description":"The change text of a `change` version.","type":"string"},"changedSceneIds":{"type":"array","items":{"type":"string"},"description":"Scenes that are new or differ from the parent version."},"status":{"type":"string","enum":["drafting","draft","failed"]},"autoStart":{"type":"string","enum":["not_requested","started","confirmation_required","skipped_no_cost"],"description":"Outcome of the automatic generation start of a change."},"complete":{"type":"boolean","description":"Every generated scene has a succeeded take."},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"document":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"shape":{"type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"output":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"fps":{"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene identity, stable across versions of one video."}},"title":{"type":"string","minLength":1,"maxLength":200},"visualPrompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Shot description. Without `shot` it is what the video model receives; with `shot` it is a readable description only."},"shot":{"description":"Structured English shot; when present the prompt compiler renders it for the model of each take.","type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":400,"description":"Who or what the shot is about and how it looks."},"beats":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0,"maximum":15,"description":"Beat start within the scene, in seconds."},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":15,"description":"Beat end within the scene, in seconds; after startSeconds."},"action":{"type":"string","minLength":1,"maxLength":300,"description":"The one visible action of this beat, in English, phrased positively."}},"required":["startSeconds","endSeconds","action"],"additionalProperties":false},"description":"Ordered, non-overlapping beats inside the scene duration; one action each."},"setting":{"type":"string","minLength":1,"maxLength":400,"description":"Where the shot takes place."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"Framing and one camera behaviour (static, or one move)."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"Lighting of the shot."},"style":{"type":"string","minLength":1,"maxLength":200,"description":"Visual style and rendering."},"sound":{"type":"string","maxLength":200,"description":"Ambient sound and effects when the scene records native audio; empty for none."},"constraints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What must hold for the whole shot, phrased positively (\"plain, unbranded surfaces\"); rendered last."}},"required":["subject","beats","setting","camera","light","style","sound","constraints"],"additionalProperties":false},"summary":{"description":"Short description of the scene in the video language, for display only.","type":"string","minLength":1,"maxLength":240},"spokenText":{"type":"string","maxLength":2000},"lines":{"description":"The lines of a dialog scene (audio native), each with its speaker, in order; spokenText is their words joined. Absent for every other scene.","minItems":1,"maxItems":12,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"Who says the line: a short English label of a visible person, or a cast character's name."},"text":{"type":"string","minLength":1,"maxLength":500,"description":"The words of the line, in the video language."}},"required":["speaker","text"],"additionalProperties":false}},"durationSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"source":{"type":"string","enum":["generated_video","generated_image","asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"characterIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"studio character"}},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) this generated video scene shows: the presenter's portrait is its likeness and, when the scene speaks, the presenter's fixed voice speaks its spokenText. Every scene of a video names the same presenter. Absent for a scene without one.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"}},"audio":{"type":"string","enum":["native","narration","none"]},"variant":{"description":"Re-roll token set by studio.videos.scenes.retry; a new value asks for a fresh take of an otherwise unchanged scene. Keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-roll token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"fingerprint":{"type":"string","minLength":1,"maxLength":128},"takeId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene take"},"keyframe":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","minLength":1,"maxLength":128},"approved":{"type":"boolean"},"createdAt":{"type":"string","minLength":1,"maxLength":64},"stillVariant":{"description":"Re-still token set by studio.videos.keyframes.create regenerateSceneIds. Server-issued; keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-still token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"upstreamFingerprint":{"description":"Fingerprint of the previous scene in the chain this still was made from. Server-owned; a difference from the upstream scene's present fingerprint makes the still stale through its upstream.","x-moreflow-opaque":{"reason":"Server-issued fingerprint; only its equality matters."},"type":"string","minLength":1,"maxLength":128}},"required":["assetId","promptFingerprint","approved","createdAt"],"additionalProperties":false},"continuesPrevious":{"description":"The clip continues the previous scene as one shot: it starts from the previous clip's last frame.","type":"boolean","enum":[true]}},"required":["id","title","visualPrompt","spokenText","durationSeconds","source","characterIds","audio","fingerprint","takeId"],"additionalProperties":false}},"timeline":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[2]},"output":{"default":{"aspectRatio":"9:16","resolution":"1080p","fps":30},"type":"object","properties":{"aspectRatio":{"default":"9:16","type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"default":"1080p","type":"string","enum":["480p","720p","1080p"]},"fps":{"default":30,"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"title":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},"clips":{"minItems":1,"maxItems":240,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"sceneId":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fit":{"default":"contain","type":"string","enum":["contain","cover"]},"position":{"default":{"x":0.5,"y":0.5},"type":"object","properties":{"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1}},"required":["x","y"],"additionalProperties":false},"transition":{"default":{"kind":"cut","durationSeconds":0},"type":"object","properties":{"kind":{"default":"cut","type":"string","enum":["cut","fade"]},"durationSeconds":{"default":0,"type":"number","minimum":0,"maximum":5}},"required":["kind","durationSeconds"],"additionalProperties":false}},"required":["id","sceneId","assetId","sourceStartSeconds","sourceEndSeconds","volume","fit","position","transition"],"additionalProperties":false}},"audio":{"default":[],"maxItems":120,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"kind":{"type":"string","enum":["narration","music"]},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"startSeconds":{"default":0,"type":"number","minimum":0},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fadeInSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"fadeOutSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"playbackRate":{"type":"number","minimum":1,"maximum":1.25}},"required":["id","assetId","kind","sourceStartSeconds","sourceEndSeconds","startSeconds","volume","fadeInSeconds","fadeOutSeconds"],"additionalProperties":false}},"captions":{"default":[],"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["id","startSeconds","endSeconds","text"],"additionalProperties":false}},"overlays":{"default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"kind":{"type":"string","enum":["text","image","logo"]},"text":{"type":"string","minLength":1,"maxLength":2000},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1},"width":{"default":0.3,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1},"fontSize":{"default":48,"type":"integer","minimum":12,"maximum":200},"color":{"default":"#ffffff","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["id","kind","startSeconds","endSeconds","x","y","width","fontSize","color"],"additionalProperties":false}},"narrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"managed narration","x-moreflow-opaque":{"reason":"Retired managed-narration id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"immutable brand snapshot","x-moreflow-opaque":{"reason":"Retired brand-snapshot id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshot":{"type":"object","properties":{"sourceVersion":{"type":"string","minLength":1,"maxLength":200},"logoAssetId":{"default":null,"x-moreflow-reference":{"resolver":"media.assets.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"primaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"fontFamily":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":120},"overlayStyle":{"default":"minimal","type":"string","enum":["none","minimal","strong"]},"disclosure":{"default":null,"nullable":true,"type":"string","maxLength":500}},"required":["sourceVersion","logoAssetId","primaryColor","secondaryColor","fontFamily","overlayStyle","disclosure"],"additionalProperties":false},"endCard":{"type":"object","properties":{"seconds":{"type":"integer","minimum":1,"maximum":5},"backgroundColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"logoAssetId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["seconds","backgroundColor","logoAssetId"],"additionalProperties":false}},"required":["version","output","scenes","clips","audio","captions","overlays"],"additionalProperties":false},"draftPromptVersion":{"type":"string","minLength":1,"maxLength":80},"look":{"type":"object","properties":{"setting":{"type":"string","minLength":1,"maxLength":400,"description":"The one place the whole video is set, concrete and visual, in English."},"palette":{"type":"string","minLength":1,"maxLength":200,"description":"The dominant colours of the video, in English."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"The one lighting of the whole video, in English."},"wardrobe":{"type":"string","maxLength":300,"description":"What the people wear and the recurring props, in English; empty when nobody is on camera."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"The camera language shared by every scene: lens, framing style and movement, in English."},"person":{"description":"The one recurring person who is not in the cast, in English: apparent age, hair colour and style, face, build, skin tone and clothes, identical in every shot; empty when no uncast person recurs.","type":"string","maxLength":300}},"required":["setting","palette","light","wardrobe","camera"],"additionalProperties":false},"endCard":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the export appends the brand end card."},"seconds":{"default":2,"description":"Length of the end card in seconds, 1 to 5 (default 2).","type":"integer","minimum":1,"maximum":5}},"required":["enabled","seconds"],"additionalProperties":false},"ad":{"description":"Ad layout drawn by every whole-video export: hook headline, safe-area captions, logo and an end card with offer and call to action. Absent for a video that is not an ad.","type":"object","properties":{"hook":{"type":"string","minLength":1,"maxLength":80,"description":"Hook headline shown large in the top third from the first frame, in the video language. Six words or fewer read within two seconds."},"hookSeconds":{"default":2,"description":"How long the hook headline shows from the start, 1 to 4 seconds (default 2).","type":"number","minimum":1,"maximum":4},"offer":{"type":"string","minLength":1,"maxLength":160,"description":"The offer on the end card, in the video language, as the user stated it; never an invented price or result."},"cta":{"type":"string","minLength":1,"maxLength":80,"description":"The call to action on the end card button, in the video language, e.g. \"Jetzt Termin sichern\"."},"endCardSeconds":{"default":3,"description":"Length of the ad end card in seconds, 2 to 5 (default 3).","type":"integer","minimum":2,"maximum":5}},"required":["hook","hookSeconds","offer","cta","endCardSeconds"],"additionalProperties":false},"narration":{"description":"Video-level voice-over of the narration scenes; absent or null when each narration scene is narrated per take.","nullable":true,"type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"],"description":"Prebuilt narration voice, from a closed server list."},"stylePreset":{"type":"string","enum":["calm","energetic","factual"],"description":"Delivery style of the narration, from a closed server list."},"trackId":{"nullable":true,"description":"The synthesized track of this script, voice and style; null until it is synthesized.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["voice","stylePreset","trackId"],"additionalProperties":false},"dialogue":{"description":"How the dialog is spoken: ElevenLabs guide tracks with a voice per speaker; absent or null when the video model voices it alone.","nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["elevenlabs"],"description":"ElevenLabs speaks a guide track of every dialog scene."},"voices":{"maxItems":24,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"A speaker as the dialog lines name them."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The ElevenLabs voice of that speaker."}},"required":["speaker","voice"],"additionalProperties":false},"description":"One voice per speaker of the dialog lines; a speaker without one gets a voice by its label."}},"required":["source","voices"],"additionalProperties":false},"scriptAdaptation":{"description":"How the draft changed the user's words for the voice-over script (shortened to fit, or reworded to sound spoken). Server-owned and ignored on input: kept only while the narration script is unchanged, absent when the script is the user's words, written from the brief, or edited since.","type":"object","properties":{"kind":{"type":"string","enum":["shortened","reworded"],"description":"shortened: the script was tightened to fit budgetSeconds, leaving out droppedPoints; reworded: the user's own script was rewritten to sound spoken."},"budgetSeconds":{"nullable":true,"description":"Seconds the script had to fit; null when the script decided the length.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"droppedPoints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The brief's spoken points the script leaves out, most important first."}},"required":["kind","budgetSeconds","droppedPoints"],"additionalProperties":false}},"required":["version","shape","language","quality","output","scenes","timeline"],"additionalProperties":false},"audioMode":{"nullable":true,"description":"The audio mode of the document, read from its scenes; null while drafting, after a failed draft, or for a document narrated per scene (before voice-over tracks).","type":"string","enum":["voice_over","dialog","none"]}},"required":["id","videoId","number","parentVersionId","origin","editKind","instruction","changedSceneIds","status","autoStart","complete","createdBy","createdAt","document","audioMode"],"additionalProperties":false},"OperationStudioVideosScenesRetryError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_SCENE_NOT_FOUND","STUDIO_SCENE_NOT_GENERATED","STUDIO_GENERATION_ACTIVE","STUDIO_VIDEO_DRAFTING"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosScenesRetryErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryErrorDefinitionSchema0"}}]},"OperationStudioVideosScenesRetryErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryErrorDefinitionSchema1"}}]},"OperationStudioVideosTakesDeleteInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"takeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio scene take id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","takeId"],"additionalProperties":false},"OperationStudioVideosTakesDeleteOutput":{"type":"object","properties":{},"additionalProperties":false},"OperationStudioVideosTakesDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosTakesDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteErrorDefinitionSchema0"}}]},"OperationStudioVideosTakesDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteErrorDefinitionSchema1"}}]},"OperationStudioVideosTakesListInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"required":["videoId"],"additionalProperties":false},"OperationStudioVideosTakesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio scene take id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneId":{"type":"string"},"fingerprint":{"type":"string"},"generationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"assetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Media asset id."},"audioAssetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Media asset id."},"captionTrack":{"nullable":true,"type":"object","properties":{"language":{"type":"string","enum":["de","en"]},"source":{"type":"string","enum":["narration","transcript","manual"]},"cues":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["startSeconds","endSeconds","text"],"additionalProperties":false}}},"required":["language","source","cues"],"additionalProperties":false},"durationSeconds":{"nullable":true,"type":"number"},"chargedCents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"EUR cents charged for this take, rounded up."},"failureCode":{"nullable":true,"description":"Why a failed take failed. On a succeeded take, a problem with the kept clip: SCENE_NARRATION_FAILED, its voice-over is missing, so the scene plays silent; SCENE_SPEECH_MISMATCH, a dialog clip does not speak the scene's lines as written (a word garbled, left out or added), so a retake may be wanted.","type":"string"},"failureRecovery":{"nullable":true,"description":"The next step for a failed take (SCENE_REFERENCE_REJECTED, VIDEO_PROVIDER_UNAVAILABLE), for a succeeded take without its voice-over (SCENE_NARRATION_FAILED: studio.videos.scenes.narration.retry) or for a succeeded dialog take that misspeaks its lines (SCENE_SPEECH_MISMATCH: studio.videos.scenes.retry with the take's sceneId); null otherwise.","type":"object","properties":{"operation":{"type":"string","description":"studio.videos.changes.propose for a rejected reference (change the scene without the character); studio.videos.update for a provider outage (choose another quality, then studio.generations.estimate for a new quote); studio.videos.scenes.narration.retry for a take whose voice-over is missing (narrate its stored clip again, then quote and start); studio.videos.scenes.retry for a dialog take whose clip misspeaks its lines (a fresh take of the scene, then quote and start)."},"args":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneId":{"description":"The scene to act on, when the failure names it (a take's own scene); otherwise it is listed in requiredFields.","type":"string","minLength":1,"maxLength":120}},"required":["videoId"],"additionalProperties":false},"requiredFields":{"type":"array","items":{"type":"string"},"description":"Input the caller still provides before it calls the operation."}},"required":["operation","args","requiredFields"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"outcome":{"nullable":true,"description":"The stored take outcome, or null while the take is unrated.","type":"object","properties":{"outcome":{"type":"string","enum":["kept","retried","restored_away","rejected"],"description":"kept or rejected from the user; retried or restored_away when the server inferred it."},"reason":{"nullable":true,"type":"string","enum":["wrong_motion","looks_off","not_what_i_meant","character_off","text_or_logo","other"]},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["outcome","reason","updatedAt"],"additionalProperties":false}},"required":["id","videoId","sceneId","fingerprint","generationId","status","assetId","audioAssetId","captionTrack","durationSeconds","chargedCents","failureCode","failureRecovery","createdAt","outcome"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioVideosTakesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosTakesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosTakesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesListErrorDefinitionSchema0"}}]},"OperationStudioVideosTakesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosTakesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesListErrorDefinitionSchema1"}}]},"OperationStudioVideosTakesOutcomeUpdateInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"takeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio scene take id."},"outcome":{"type":"string","enum":["kept","retried","restored_away","rejected"],"description":"kept: the take stays in the video. retried: another take was asked for. restored_away: an earlier take replaced it. rejected: unusable."},"reason":{"description":"Why the take was not kept. Not allowed with kept.","type":"string","enum":["wrong_motion","looks_off","not_what_i_meant","character_off","text_or_logo","other"]},"note":{"description":"Free-text detail, at most 500 characters.","type":"string","minLength":1,"maxLength":500},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","takeId","outcome"],"additionalProperties":false},"OperationStudioVideosTakesOutcomeUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Outcome identity: each take has exactly one outcome."},"takeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio scene take id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneId":{"type":"string"},"outcome":{"type":"string","enum":["kept","retried","restored_away","rejected"]},"reason":{"nullable":true,"type":"string","enum":["wrong_motion","looks_off","not_what_i_meant","character_off","text_or_logo","other"]},"note":{"nullable":true,"type":"string"},"source":{"type":"string","enum":["user","server"],"description":"user: stated with studio.videos.takes.outcome.update. server: inferred from studio.videos.scenes.retry or studio.videos.takes.restore; a user outcome always replaces it."},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","takeId","videoId","sceneId","outcome","reason","note","source","updatedAt"],"additionalProperties":false},"OperationStudioVideosTakesOutcomeUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_TAKE_NOT_FOUND","STUDIO_TAKE_NOT_SUCCEEDED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosTakesOutcomeUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateErrorDefinitionSchema0"}}]},"OperationStudioVideosTakesOutcomeUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateErrorDefinitionSchema1"}}]},"OperationStudioVideosTakesRestoreInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"takeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio scene take id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","takeId"],"additionalProperties":false},"OperationStudioVideosTakesRestoreOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"parentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"origin":{"type":"string","enum":["initial","shape_switch","change","editor","take_restore"]},"editKind":{"nullable":true,"description":"What an editor version did: quality_switch (studio.videos.update quality) or retake (studio.videos.scenes.retry); null for other versions.","type":"string","enum":["quality_switch","retake"]},"instruction":{"nullable":true,"description":"The change text of a `change` version.","type":"string"},"changedSceneIds":{"type":"array","items":{"type":"string"},"description":"Scenes that are new or differ from the parent version."},"status":{"type":"string","enum":["drafting","draft","failed"]},"autoStart":{"type":"string","enum":["not_requested","started","confirmation_required","skipped_no_cost"],"description":"Outcome of the automatic generation start of a change."},"complete":{"type":"boolean","description":"Every generated scene has a succeeded take."},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"document":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"shape":{"type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"output":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"fps":{"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene identity, stable across versions of one video."}},"title":{"type":"string","minLength":1,"maxLength":200},"visualPrompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Shot description. Without `shot` it is what the video model receives; with `shot` it is a readable description only."},"shot":{"description":"Structured English shot; when present the prompt compiler renders it for the model of each take.","type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":400,"description":"Who or what the shot is about and how it looks."},"beats":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0,"maximum":15,"description":"Beat start within the scene, in seconds."},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":15,"description":"Beat end within the scene, in seconds; after startSeconds."},"action":{"type":"string","minLength":1,"maxLength":300,"description":"The one visible action of this beat, in English, phrased positively."}},"required":["startSeconds","endSeconds","action"],"additionalProperties":false},"description":"Ordered, non-overlapping beats inside the scene duration; one action each."},"setting":{"type":"string","minLength":1,"maxLength":400,"description":"Where the shot takes place."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"Framing and one camera behaviour (static, or one move)."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"Lighting of the shot."},"style":{"type":"string","minLength":1,"maxLength":200,"description":"Visual style and rendering."},"sound":{"type":"string","maxLength":200,"description":"Ambient sound and effects when the scene records native audio; empty for none."},"constraints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What must hold for the whole shot, phrased positively (\"plain, unbranded surfaces\"); rendered last."}},"required":["subject","beats","setting","camera","light","style","sound","constraints"],"additionalProperties":false},"summary":{"description":"Short description of the scene in the video language, for display only.","type":"string","minLength":1,"maxLength":240},"spokenText":{"type":"string","maxLength":2000},"lines":{"description":"The lines of a dialog scene (audio native), each with its speaker, in order; spokenText is their words joined. Absent for every other scene.","minItems":1,"maxItems":12,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"Who says the line: a short English label of a visible person, or a cast character's name."},"text":{"type":"string","minLength":1,"maxLength":500,"description":"The words of the line, in the video language."}},"required":["speaker","text"],"additionalProperties":false}},"durationSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"source":{"type":"string","enum":["generated_video","generated_image","asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"characterIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"studio character"}},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) this generated video scene shows: the presenter's portrait is its likeness and, when the scene speaks, the presenter's fixed voice speaks its spokenText. Every scene of a video names the same presenter. Absent for a scene without one.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"}},"audio":{"type":"string","enum":["native","narration","none"]},"variant":{"description":"Re-roll token set by studio.videos.scenes.retry; a new value asks for a fresh take of an otherwise unchanged scene. Keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-roll token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"fingerprint":{"type":"string","minLength":1,"maxLength":128},"takeId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene take"},"keyframe":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","minLength":1,"maxLength":128},"approved":{"type":"boolean"},"createdAt":{"type":"string","minLength":1,"maxLength":64},"stillVariant":{"description":"Re-still token set by studio.videos.keyframes.create regenerateSceneIds. Server-issued; keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-still token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"upstreamFingerprint":{"description":"Fingerprint of the previous scene in the chain this still was made from. Server-owned; a difference from the upstream scene's present fingerprint makes the still stale through its upstream.","x-moreflow-opaque":{"reason":"Server-issued fingerprint; only its equality matters."},"type":"string","minLength":1,"maxLength":128}},"required":["assetId","promptFingerprint","approved","createdAt"],"additionalProperties":false},"continuesPrevious":{"description":"The clip continues the previous scene as one shot: it starts from the previous clip's last frame.","type":"boolean","enum":[true]}},"required":["id","title","visualPrompt","spokenText","durationSeconds","source","characterIds","audio","fingerprint","takeId"],"additionalProperties":false}},"timeline":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[2]},"output":{"default":{"aspectRatio":"9:16","resolution":"1080p","fps":30},"type":"object","properties":{"aspectRatio":{"default":"9:16","type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"default":"1080p","type":"string","enum":["480p","720p","1080p"]},"fps":{"default":30,"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"title":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},"clips":{"minItems":1,"maxItems":240,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"sceneId":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fit":{"default":"contain","type":"string","enum":["contain","cover"]},"position":{"default":{"x":0.5,"y":0.5},"type":"object","properties":{"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1}},"required":["x","y"],"additionalProperties":false},"transition":{"default":{"kind":"cut","durationSeconds":0},"type":"object","properties":{"kind":{"default":"cut","type":"string","enum":["cut","fade"]},"durationSeconds":{"default":0,"type":"number","minimum":0,"maximum":5}},"required":["kind","durationSeconds"],"additionalProperties":false}},"required":["id","sceneId","assetId","sourceStartSeconds","sourceEndSeconds","volume","fit","position","transition"],"additionalProperties":false}},"audio":{"default":[],"maxItems":120,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"kind":{"type":"string","enum":["narration","music"]},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"startSeconds":{"default":0,"type":"number","minimum":0},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fadeInSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"fadeOutSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"playbackRate":{"type":"number","minimum":1,"maximum":1.25}},"required":["id","assetId","kind","sourceStartSeconds","sourceEndSeconds","startSeconds","volume","fadeInSeconds","fadeOutSeconds"],"additionalProperties":false}},"captions":{"default":[],"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["id","startSeconds","endSeconds","text"],"additionalProperties":false}},"overlays":{"default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"kind":{"type":"string","enum":["text","image","logo"]},"text":{"type":"string","minLength":1,"maxLength":2000},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1},"width":{"default":0.3,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1},"fontSize":{"default":48,"type":"integer","minimum":12,"maximum":200},"color":{"default":"#ffffff","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["id","kind","startSeconds","endSeconds","x","y","width","fontSize","color"],"additionalProperties":false}},"narrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"managed narration","x-moreflow-opaque":{"reason":"Retired managed-narration id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"immutable brand snapshot","x-moreflow-opaque":{"reason":"Retired brand-snapshot id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshot":{"type":"object","properties":{"sourceVersion":{"type":"string","minLength":1,"maxLength":200},"logoAssetId":{"default":null,"x-moreflow-reference":{"resolver":"media.assets.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"primaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"fontFamily":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":120},"overlayStyle":{"default":"minimal","type":"string","enum":["none","minimal","strong"]},"disclosure":{"default":null,"nullable":true,"type":"string","maxLength":500}},"required":["sourceVersion","logoAssetId","primaryColor","secondaryColor","fontFamily","overlayStyle","disclosure"],"additionalProperties":false},"endCard":{"type":"object","properties":{"seconds":{"type":"integer","minimum":1,"maximum":5},"backgroundColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"logoAssetId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["seconds","backgroundColor","logoAssetId"],"additionalProperties":false}},"required":["version","output","scenes","clips","audio","captions","overlays"],"additionalProperties":false},"draftPromptVersion":{"type":"string","minLength":1,"maxLength":80},"look":{"type":"object","properties":{"setting":{"type":"string","minLength":1,"maxLength":400,"description":"The one place the whole video is set, concrete and visual, in English."},"palette":{"type":"string","minLength":1,"maxLength":200,"description":"The dominant colours of the video, in English."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"The one lighting of the whole video, in English."},"wardrobe":{"type":"string","maxLength":300,"description":"What the people wear and the recurring props, in English; empty when nobody is on camera."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"The camera language shared by every scene: lens, framing style and movement, in English."},"person":{"description":"The one recurring person who is not in the cast, in English: apparent age, hair colour and style, face, build, skin tone and clothes, identical in every shot; empty when no uncast person recurs.","type":"string","maxLength":300}},"required":["setting","palette","light","wardrobe","camera"],"additionalProperties":false},"endCard":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the export appends the brand end card."},"seconds":{"default":2,"description":"Length of the end card in seconds, 1 to 5 (default 2).","type":"integer","minimum":1,"maximum":5}},"required":["enabled","seconds"],"additionalProperties":false},"ad":{"description":"Ad layout drawn by every whole-video export: hook headline, safe-area captions, logo and an end card with offer and call to action. Absent for a video that is not an ad.","type":"object","properties":{"hook":{"type":"string","minLength":1,"maxLength":80,"description":"Hook headline shown large in the top third from the first frame, in the video language. Six words or fewer read within two seconds."},"hookSeconds":{"default":2,"description":"How long the hook headline shows from the start, 1 to 4 seconds (default 2).","type":"number","minimum":1,"maximum":4},"offer":{"type":"string","minLength":1,"maxLength":160,"description":"The offer on the end card, in the video language, as the user stated it; never an invented price or result."},"cta":{"type":"string","minLength":1,"maxLength":80,"description":"The call to action on the end card button, in the video language, e.g. \"Jetzt Termin sichern\"."},"endCardSeconds":{"default":3,"description":"Length of the ad end card in seconds, 2 to 5 (default 3).","type":"integer","minimum":2,"maximum":5}},"required":["hook","hookSeconds","offer","cta","endCardSeconds"],"additionalProperties":false},"narration":{"description":"Video-level voice-over of the narration scenes; absent or null when each narration scene is narrated per take.","nullable":true,"type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"],"description":"Prebuilt narration voice, from a closed server list."},"stylePreset":{"type":"string","enum":["calm","energetic","factual"],"description":"Delivery style of the narration, from a closed server list."},"trackId":{"nullable":true,"description":"The synthesized track of this script, voice and style; null until it is synthesized.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["voice","stylePreset","trackId"],"additionalProperties":false},"dialogue":{"description":"How the dialog is spoken: ElevenLabs guide tracks with a voice per speaker; absent or null when the video model voices it alone.","nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["elevenlabs"],"description":"ElevenLabs speaks a guide track of every dialog scene."},"voices":{"maxItems":24,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"A speaker as the dialog lines name them."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The ElevenLabs voice of that speaker."}},"required":["speaker","voice"],"additionalProperties":false},"description":"One voice per speaker of the dialog lines; a speaker without one gets a voice by its label."}},"required":["source","voices"],"additionalProperties":false},"scriptAdaptation":{"description":"How the draft changed the user's words for the voice-over script (shortened to fit, or reworded to sound spoken). Server-owned and ignored on input: kept only while the narration script is unchanged, absent when the script is the user's words, written from the brief, or edited since.","type":"object","properties":{"kind":{"type":"string","enum":["shortened","reworded"],"description":"shortened: the script was tightened to fit budgetSeconds, leaving out droppedPoints; reworded: the user's own script was rewritten to sound spoken."},"budgetSeconds":{"nullable":true,"description":"Seconds the script had to fit; null when the script decided the length.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"droppedPoints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The brief's spoken points the script leaves out, most important first."}},"required":["kind","budgetSeconds","droppedPoints"],"additionalProperties":false}},"required":["version","shape","language","quality","output","scenes","timeline"],"additionalProperties":false},"audioMode":{"nullable":true,"description":"The audio mode of the document, read from its scenes; null while drafting, after a failed draft, or for a document narrated per scene (before voice-over tracks).","type":"string","enum":["voice_over","dialog","none"]}},"required":["id","videoId","number","parentVersionId","origin","editKind","instruction","changedSceneIds","status","autoStart","complete","createdBy","createdAt","document","audioMode"],"additionalProperties":false},"OperationStudioVideosTakesRestoreError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosTakesRestoreErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreErrorDefinitionSchema0"}}]},"OperationStudioVideosTakesRestoreErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreErrorDefinitionSchema1"}}]},"OperationStudioVideosUpdateInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"title":{"type":"string","minLength":1,"maxLength":120},"shape":{"description":"Re-drafts into a shape_switch version; only before the first generation.","type":"string","enum":["clip","story"]},"aspectRatio":{"description":"Re-drafts into a shape_switch version; only before the first generation.","type":"string","enum":["9:16","1:1","16:9"]},"durationSeconds":{"description":"The new length. Before the first generation it re-drafts into a shape_switch version at that length, and the shape follows it unless shape is given. After it, a change version at that length within the locked shape (studio.videos.get lengthBounds; outside them STUDIO_SHAPE_LOCKED with recovery studio.videos.duplicate) that waits for its quoted start.","type":"integer","minimum":4,"maximum":180},"quality":{"description":"Appends an editor version (editKind quality_switch) with the new quality and its resolution; its scenes regenerate on the next generation (studio.generations.estimate), and switching back to a quality whose takes still exist becomes current at no cost.","type":"string","enum":["standard","pro","custom"]},"videoModel":{"description":"Switches the custom quality to this model (alone it implies quality custom), as a quality_switch version.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"resolution":{"description":"Switches the output resolution (one of the video's resolutions, or of the new quality's when quality changes too), as a quality_switch version. A quality switch without it keeps the resolution while the new quality offers it, else takes the new default.","type":"string","enum":["480p","720p","1080p"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId"],"additionalProperties":false},"OperationStudioVideosUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"ideaId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio idea id."},"title":{"type":"string"},"prompt":{"nullable":true,"type":"string"},"referenceImageIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Finished private image upload (purpose studio_video_reference; JPEG, PNG or WebP, at most 10 MB)."},"x-moreflow-opaque":{"reason":"Storage object identifiers of private uploads; storage.upload.begin creates them."},"description":"Reference images every scene is generated against, in prompt order."},"brief":{"nullable":true,"description":"The confirmed creative brief the video was created with (studio.videos.create brief); every draft follows it. Null when it was created without one.","type":"object","properties":{"goal":{"type":"string","maxLength":500,"description":"What the video should achieve for the business."},"audience":{"type":"string","maxLength":500,"description":"Who the video is for."},"coreMessage":{"type":"string","maxLength":500,"description":"The one thing a viewer should remember."},"callToAction":{"type":"string","maxLength":200,"description":"What the viewer should do next; empty for none."},"mustShow":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"Subjects, products, places or actions the video has to show."},"avoid":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What the video must not show or say."},"mood":{"type":"string","maxLength":200,"description":"Tone and visual style."},"targetSeconds":{"nullable":true,"description":"Intended total length in seconds; null lets the draft decide.","type":"integer","minimum":4,"maximum":180},"platform":{"nullable":true,"description":"The format the video is made for; null when not for one platform.","type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]},"cast":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"description":"Characters (studio.characters.get) who appear in the video."},"spoken":{"description":"What the video says, independent of how the request wrote it: hook, ranked points and the user's own script; the call to action is callToAction. Absent on briefs from a starter template or from before studio-video-brief-v3.","type":"object","properties":{"hook":{"type":"string","maxLength":200,"description":"The opening idea that wins the viewer in the first two seconds, in the video language; empty when the video says nothing."},"points":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The key points the video says, most important first. A script that runs too long drops the last point, never grammar."},"userScript":{"type":"string","maxLength":8000,"description":"The spoken words the request itself wrote (a voice-over or lines), copied exactly from it: reference for content and tone. Empty when the request wrote none."},"verbatim":{"type":"boolean","description":"True only when the request explicitly asks to keep userScript word for word (\"genau so\", \"wörtlich\", \"verbatim\", \"word for word\"); the script is then kept exactly and the length yields."}},"required":["hook","points","userScript","verbatim"],"additionalProperties":false},"template":{"description":"The starter template the video was created from; absent for a video created from a prompt or an idea.","type":"object","properties":{"id":{"type":"string","enum":["product_close_up","talking_head_tip","customer_testimonial","before_after","behind_the_scenes","offer_announcement"],"description":"The starter template (studio.templates.list)."},"slots":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":1000},{"maxItems":8,"type":"array","items":{"type":"string","maxLength":120}}]},"description":"The slot values the video was created with."}},"required":["id","slots"],"additionalProperties":false},"ad":{"description":"The ad the video was created from (studio.videos.create ad): its brief and checked script, with the hook, beats, offer and call to action the ad renders. Absent for every other video.","type":"object","properties":{"brief":{"type":"object","properties":{"language":{"type":"string","enum":["de","en"],"description":"The language the ad is spoken in."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the call to action names it, e.g. \"MPU-Infoabend\" or \"free first consultation\"."},"description":{"type":"string","maxLength":500,"description":"What the offer is and what the customer gets."},"price":{"nullable":true,"description":"The price exactly as the user states it; null when the ad names no price. Never proposed.","type":"string","minLength":1,"maxLength":60}},"required":["name","description","price"],"additionalProperties":false},"audience":{"type":"string","maxLength":500,"description":"Who the ad speaks to: their situation and what they want."},"mainPain":{"type":"string","maxLength":500,"description":"The one problem the ad opens with."},"objections":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What keeps the audience from buying, most common first."},"proof":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["testimonial","statistic","result","credential","other"],"description":"testimonial: a customer's own words (the only proof an ad may quote); statistic, result, credential or other: a fact the business can back."},"text":{"type":"string","minLength":1,"maxLength":400,"description":"The proof exactly as the user supplies it; numbers, prices and quotes in an ad must come from here or another brief field."},"source":{"nullable":true,"description":"Where the proof comes from (a customer's first name, a review site, a certificate); null when not stated.","type":"string","minLength":1,"maxLength":120}},"required":["kind","text","source"],"additionalProperties":false},"description":"Proof the user supplies: testimonials, numbers, results, credentials. Never proposed; an ad states no proof that is not here."},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"What the viewer does next, e.g. \"Book your seat\"."},"landingUrl":{"nullable":true,"description":"Where the ad sends the viewer; null for none.","type":"string","maxLength":2048},"brandKit":{"type":"object","properties":{"logoAssetId":{"nullable":true,"x-moreflow-reference":{"resolver":"media.assets.get"},"description":"The logo the ad end card shows; null for none.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"primaryColor":{"nullable":true,"description":"The brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"nullable":true,"description":"A second brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["logoAssetId","primaryColor","secondaryColor"],"additionalProperties":false,"description":"Logo and colours of the ad end card; seeded from the project brand."}},"required":["language","offer","audience","mainPain","objections","proof","callToAction","landingUrl","brandKit"],"additionalProperties":false,"description":"The confirmed ad brief the script was checked against."},"script":{"type":"object","properties":{"formatId":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The ad format (studio.ads.formats.list)."},"language":{"type":"string","enum":["de","en"],"description":"The language the presenter speaks; the brief's language."},"hook":{"type":"string","minLength":1,"maxLength":80,"description":"The hook headline: at most 6 words, spoken as the first beat within the first 2 seconds and shown as the headline."},"beats":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["hook","problem","proof","offer","cta"],"description":"The beat: hook, problem, proof, offer or cta, in this order."},"startSeconds":{"type":"number","minimum":0,"description":"When the beat starts; the format fixes it."},"endSeconds":{"type":"number","minimum":0,"description":"When the beat ends; the format fixes it."},"spokenText":{"type":"string","minLength":1,"maxLength":400,"description":"What the presenter says to the camera in this beat."}},"required":["role","startSeconds","endSeconds","spokenText"],"additionalProperties":false},"description":"The five timed beats in order."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the brief names it; the cta beat says it."},"price":{"nullable":true,"description":"The brief's price; null when the ad names none.","type":"string","minLength":1,"maxLength":60}},"required":["name","price"],"additionalProperties":false},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"The brief's call to action, for the end card."},"landingUrl":{"nullable":true,"description":"The brief's landing URL; null for none.","type":"string","maxLength":2048},"setting":{"type":"string","minLength":1,"maxLength":300,"description":"The one place the whole ad is filmed in, in English for the video model."},"disclosure":{"nullable":true,"description":"The label a dramatised format shows (studio.ads.formats.get disclosure, in the ad language); null otherwise.","type":"string","minLength":1,"maxLength":120},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The length of the ad."}},"required":["formatId","language","hook","beats","offer","callToAction","landingUrl","setting","disclosure","durationSeconds"],"additionalProperties":false,"description":"The checked ad script the video speaks."},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) who speaks every scene of the ad with the same face and fixed voice; it must speak the script language. Omit for the default presenter of the language; null for a presenter described in words only (the face can change between scenes).","x-moreflow-reference":{"resolver":"studio.presenters.get"},"nullable":true,"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"}},"required":["brief","script"],"additionalProperties":false}},"required":["goal","audience","coreMessage","callToAction","mustShow","avoid","mood","targetSeconds","platform","cast"],"additionalProperties":false},"shape":{"type":"string","enum":["clip","story"]},"suggestedShape":{"nullable":true,"description":"Set by the server when drafting completes.","type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"resolution":{"type":"string","enum":["480p","720p","1080p"],"description":"Output resolution the next generation renders: the chosen one, else the quality's default."},"resolutions":{"type":"array","items":{"type":"string","enum":["480p","720p","1080p"]},"description":"Resolutions the current quality and model offer, lowest first; studio.videos.update resolution picks one."},"status":{"type":"string","enum":["drafting","draft","generating","ready","failed"]},"currentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"latestVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"activeGenerationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"latestExportId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canSwitchShape":{"type":"boolean","description":"Shape and aspect ratio can still change: no generation has started."}},"required":["canManage","canSwitchShape"],"additionalProperties":false},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","ideaId","title","prompt","referenceImageIds","brief","shape","suggestedShape","language","aspectRatio","quality","videoModel","resolution","resolutions","status","currentVersionId","latestVersionId","activeGenerationId","latestExportId","capabilities","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioVideosUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_VIDEO_MODEL_UNAVAILABLE","STUDIO_VIDEO_MODEL_CONFLICT","STUDIO_SHAPE_LOCKED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosUpdateErrorDefinitionSchema0"}}]},"OperationStudioVideosUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosUpdateErrorDefinitionSchema1"}}]},"OperationStudioVideosVersionsCreateInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"baseVersionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The latest version the edit started from."},"document":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"shape":{"type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"output":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"fps":{"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene identity, stable across versions of one video."}},"title":{"type":"string","minLength":1,"maxLength":200},"visualPrompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Shot description. Without `shot` it is what the video model receives; with `shot` it is a readable description only."},"shot":{"description":"Structured English shot; when present the prompt compiler renders it for the model of each take.","type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":400,"description":"Who or what the shot is about and how it looks."},"beats":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0,"maximum":15,"description":"Beat start within the scene, in seconds."},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":15,"description":"Beat end within the scene, in seconds; after startSeconds."},"action":{"type":"string","minLength":1,"maxLength":300,"description":"The one visible action of this beat, in English, phrased positively."}},"required":["startSeconds","endSeconds","action"],"additionalProperties":false},"description":"Ordered, non-overlapping beats inside the scene duration; one action each."},"setting":{"type":"string","minLength":1,"maxLength":400,"description":"Where the shot takes place."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"Framing and one camera behaviour (static, or one move)."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"Lighting of the shot."},"style":{"type":"string","minLength":1,"maxLength":200,"description":"Visual style and rendering."},"sound":{"type":"string","maxLength":200,"description":"Ambient sound and effects when the scene records native audio; empty for none."},"constraints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What must hold for the whole shot, phrased positively (\"plain, unbranded surfaces\"); rendered last."}},"required":["subject","beats","setting","camera","light","style","sound","constraints"],"additionalProperties":false},"summary":{"description":"Short description of the scene in the video language, for display only.","type":"string","minLength":1,"maxLength":240},"spokenText":{"type":"string","maxLength":2000},"lines":{"description":"The lines of a dialog scene (audio native), each with its speaker, in order; spokenText is their words joined. Absent for every other scene.","minItems":1,"maxItems":12,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"Who says the line: a short English label of a visible person, or a cast character's name."},"text":{"type":"string","minLength":1,"maxLength":500,"description":"The words of the line, in the video language."}},"required":["speaker","text"],"additionalProperties":false}},"durationSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"source":{"type":"string","enum":["generated_video","generated_image","asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"characterIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"studio character"}},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) this generated video scene shows: the presenter's portrait is its likeness and, when the scene speaks, the presenter's fixed voice speaks its spokenText. Every scene of a video names the same presenter. Absent for a scene without one.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"}},"audio":{"type":"string","enum":["native","narration","none"]},"variant":{"description":"Re-roll token set by studio.videos.scenes.retry; a new value asks for a fresh take of an otherwise unchanged scene. Keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-roll token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"fingerprint":{"type":"string","minLength":1,"maxLength":128},"takeId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene take"},"keyframe":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","minLength":1,"maxLength":128},"approved":{"type":"boolean"},"createdAt":{"type":"string","minLength":1,"maxLength":64},"stillVariant":{"description":"Re-still token set by studio.videos.keyframes.create regenerateSceneIds. Server-issued; keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-still token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"upstreamFingerprint":{"description":"Fingerprint of the previous scene in the chain this still was made from. Server-owned; a difference from the upstream scene's present fingerprint makes the still stale through its upstream.","x-moreflow-opaque":{"reason":"Server-issued fingerprint; only its equality matters."},"type":"string","minLength":1,"maxLength":128}},"required":["assetId","promptFingerprint","approved","createdAt"],"additionalProperties":false},"continuesPrevious":{"description":"The clip continues the previous scene as one shot: it starts from the previous clip's last frame.","type":"boolean","enum":[true]}},"required":["id","title","visualPrompt","spokenText","durationSeconds","source","characterIds","audio","fingerprint","takeId"],"additionalProperties":false}},"timeline":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[2]},"output":{"default":{"aspectRatio":"9:16","resolution":"1080p","fps":30},"type":"object","properties":{"aspectRatio":{"default":"9:16","type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"default":"1080p","type":"string","enum":["480p","720p","1080p"]},"fps":{"default":30,"type":"number","enum":[30]}},"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"title":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},"clips":{"minItems":1,"maxItems":240,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"sceneId":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fit":{"default":"contain","type":"string","enum":["contain","cover"]},"position":{"default":{"x":0.5,"y":0.5},"type":"object","properties":{"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1}},"additionalProperties":false},"transition":{"default":{"kind":"cut","durationSeconds":0},"type":"object","properties":{"kind":{"default":"cut","type":"string","enum":["cut","fade"]},"durationSeconds":{"default":0,"type":"number","minimum":0,"maximum":5}},"additionalProperties":false}},"required":["id","sceneId","assetId","sourceEndSeconds"],"additionalProperties":false}},"audio":{"default":[],"maxItems":120,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"kind":{"type":"string","enum":["narration","music"]},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"startSeconds":{"default":0,"type":"number","minimum":0},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fadeInSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"fadeOutSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"playbackRate":{"type":"number","minimum":1,"maximum":1.25}},"required":["id","assetId","kind","sourceEndSeconds"],"additionalProperties":false}},"captions":{"default":[],"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["id","startSeconds","endSeconds","text"],"additionalProperties":false}},"overlays":{"default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"kind":{"type":"string","enum":["text","image","logo"]},"text":{"type":"string","minLength":1,"maxLength":2000},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1},"width":{"default":0.3,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1},"fontSize":{"default":48,"type":"integer","minimum":12,"maximum":200},"color":{"default":"#ffffff","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["id","kind","startSeconds","endSeconds"],"additionalProperties":false}},"narrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"managed narration","x-moreflow-opaque":{"reason":"Retired managed-narration id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"immutable brand snapshot","x-moreflow-opaque":{"reason":"Retired brand-snapshot id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshot":{"type":"object","properties":{"sourceVersion":{"type":"string","minLength":1,"maxLength":200},"logoAssetId":{"default":null,"x-moreflow-reference":{"resolver":"media.assets.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"primaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"fontFamily":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":120},"overlayStyle":{"default":"minimal","type":"string","enum":["none","minimal","strong"]},"disclosure":{"default":null,"nullable":true,"type":"string","maxLength":500}},"required":["sourceVersion"]},"endCard":{"type":"object","properties":{"seconds":{"type":"integer","minimum":1,"maximum":5},"backgroundColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"logoAssetId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["seconds","backgroundColor"],"additionalProperties":false}},"required":["version","scenes","clips"],"additionalProperties":false},"draftPromptVersion":{"type":"string","minLength":1,"maxLength":80},"look":{"type":"object","properties":{"setting":{"type":"string","minLength":1,"maxLength":400,"description":"The one place the whole video is set, concrete and visual, in English."},"palette":{"type":"string","minLength":1,"maxLength":200,"description":"The dominant colours of the video, in English."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"The one lighting of the whole video, in English."},"wardrobe":{"type":"string","maxLength":300,"description":"What the people wear and the recurring props, in English; empty when nobody is on camera."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"The camera language shared by every scene: lens, framing style and movement, in English."},"person":{"description":"The one recurring person who is not in the cast, in English: apparent age, hair colour and style, face, build, skin tone and clothes, identical in every shot; empty when no uncast person recurs.","type":"string","maxLength":300}},"required":["setting","palette","light","wardrobe","camera"],"additionalProperties":false},"endCard":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the export appends the brand end card."},"seconds":{"default":2,"description":"Length of the end card in seconds, 1 to 5 (default 2).","type":"integer","minimum":1,"maximum":5}},"required":["enabled"],"additionalProperties":false},"ad":{"description":"Ad layout drawn by every whole-video export: hook headline, safe-area captions, logo and an end card with offer and call to action. Absent for a video that is not an ad.","type":"object","properties":{"hook":{"type":"string","minLength":1,"maxLength":80,"description":"Hook headline shown large in the top third from the first frame, in the video language. Six words or fewer read within two seconds."},"hookSeconds":{"default":2,"description":"How long the hook headline shows from the start, 1 to 4 seconds (default 2).","type":"number","minimum":1,"maximum":4},"offer":{"type":"string","minLength":1,"maxLength":160,"description":"The offer on the end card, in the video language, as the user stated it; never an invented price or result."},"cta":{"type":"string","minLength":1,"maxLength":80,"description":"The call to action on the end card button, in the video language, e.g. \"Jetzt Termin sichern\"."},"endCardSeconds":{"default":3,"description":"Length of the ad end card in seconds, 2 to 5 (default 3).","type":"integer","minimum":2,"maximum":5}},"required":["hook","offer","cta"],"additionalProperties":false},"narration":{"description":"Video-level voice-over of the narration scenes; absent or null when each narration scene is narrated per take.","nullable":true,"type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"],"description":"Prebuilt narration voice, from a closed server list."},"stylePreset":{"type":"string","enum":["calm","energetic","factual"],"description":"Delivery style of the narration, from a closed server list."},"trackId":{"nullable":true,"description":"The synthesized track of this script, voice and style; null until it is synthesized.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["voice","stylePreset","trackId"],"additionalProperties":false},"dialogue":{"description":"How the dialog is spoken: ElevenLabs guide tracks with a voice per speaker; absent or null when the video model voices it alone.","nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["elevenlabs"],"description":"ElevenLabs speaks a guide track of every dialog scene."},"voices":{"maxItems":24,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"A speaker as the dialog lines name them."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The ElevenLabs voice of that speaker."}},"required":["speaker","voice"],"additionalProperties":false},"description":"One voice per speaker of the dialog lines; a speaker without one gets a voice by its label."}},"required":["source","voices"],"additionalProperties":false},"scriptAdaptation":{"description":"How the draft changed the user's words for the voice-over script (shortened to fit, or reworded to sound spoken). Server-owned and ignored on input: kept only while the narration script is unchanged, absent when the script is the user's words, written from the brief, or edited since.","type":"object","properties":{"kind":{"type":"string","enum":["shortened","reworded"],"description":"shortened: the script was tightened to fit budgetSeconds, leaving out droppedPoints; reworded: the user's own script was rewritten to sound spoken."},"budgetSeconds":{"nullable":true,"description":"Seconds the script had to fit; null when the script decided the length.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"droppedPoints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The brief's spoken points the script leaves out, most important first."}},"required":["kind","budgetSeconds","droppedPoints"],"additionalProperties":false}},"required":["version","shape","language","quality","output","scenes","timeline"],"additionalProperties":false,"description":"The edited document; the server recomputes fingerprints and takes."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","baseVersionId","document"],"additionalProperties":false},"OperationStudioVideosVersionsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"parentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"origin":{"type":"string","enum":["initial","shape_switch","change","editor","take_restore"]},"editKind":{"nullable":true,"description":"What an editor version did: quality_switch (studio.videos.update quality) or retake (studio.videos.scenes.retry); null for other versions.","type":"string","enum":["quality_switch","retake"]},"instruction":{"nullable":true,"description":"The change text of a `change` version.","type":"string"},"changedSceneIds":{"type":"array","items":{"type":"string"},"description":"Scenes that are new or differ from the parent version."},"status":{"type":"string","enum":["drafting","draft","failed"]},"autoStart":{"type":"string","enum":["not_requested","started","confirmation_required","skipped_no_cost"],"description":"Outcome of the automatic generation start of a change."},"complete":{"type":"boolean","description":"Every generated scene has a succeeded take."},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"document":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"shape":{"type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"output":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"fps":{"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene identity, stable across versions of one video."}},"title":{"type":"string","minLength":1,"maxLength":200},"visualPrompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Shot description. Without `shot` it is what the video model receives; with `shot` it is a readable description only."},"shot":{"description":"Structured English shot; when present the prompt compiler renders it for the model of each take.","type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":400,"description":"Who or what the shot is about and how it looks."},"beats":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0,"maximum":15,"description":"Beat start within the scene, in seconds."},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":15,"description":"Beat end within the scene, in seconds; after startSeconds."},"action":{"type":"string","minLength":1,"maxLength":300,"description":"The one visible action of this beat, in English, phrased positively."}},"required":["startSeconds","endSeconds","action"],"additionalProperties":false},"description":"Ordered, non-overlapping beats inside the scene duration; one action each."},"setting":{"type":"string","minLength":1,"maxLength":400,"description":"Where the shot takes place."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"Framing and one camera behaviour (static, or one move)."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"Lighting of the shot."},"style":{"type":"string","minLength":1,"maxLength":200,"description":"Visual style and rendering."},"sound":{"type":"string","maxLength":200,"description":"Ambient sound and effects when the scene records native audio; empty for none."},"constraints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What must hold for the whole shot, phrased positively (\"plain, unbranded surfaces\"); rendered last."}},"required":["subject","beats","setting","camera","light","style","sound","constraints"],"additionalProperties":false},"summary":{"description":"Short description of the scene in the video language, for display only.","type":"string","minLength":1,"maxLength":240},"spokenText":{"type":"string","maxLength":2000},"lines":{"description":"The lines of a dialog scene (audio native), each with its speaker, in order; spokenText is their words joined. Absent for every other scene.","minItems":1,"maxItems":12,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"Who says the line: a short English label of a visible person, or a cast character's name."},"text":{"type":"string","minLength":1,"maxLength":500,"description":"The words of the line, in the video language."}},"required":["speaker","text"],"additionalProperties":false}},"durationSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"source":{"type":"string","enum":["generated_video","generated_image","asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"characterIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"studio character"}},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) this generated video scene shows: the presenter's portrait is its likeness and, when the scene speaks, the presenter's fixed voice speaks its spokenText. Every scene of a video names the same presenter. Absent for a scene without one.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"}},"audio":{"type":"string","enum":["native","narration","none"]},"variant":{"description":"Re-roll token set by studio.videos.scenes.retry; a new value asks for a fresh take of an otherwise unchanged scene. Keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-roll token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"fingerprint":{"type":"string","minLength":1,"maxLength":128},"takeId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene take"},"keyframe":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","minLength":1,"maxLength":128},"approved":{"type":"boolean"},"createdAt":{"type":"string","minLength":1,"maxLength":64},"stillVariant":{"description":"Re-still token set by studio.videos.keyframes.create regenerateSceneIds. Server-issued; keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-still token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"upstreamFingerprint":{"description":"Fingerprint of the previous scene in the chain this still was made from. Server-owned; a difference from the upstream scene's present fingerprint makes the still stale through its upstream.","x-moreflow-opaque":{"reason":"Server-issued fingerprint; only its equality matters."},"type":"string","minLength":1,"maxLength":128}},"required":["assetId","promptFingerprint","approved","createdAt"],"additionalProperties":false},"continuesPrevious":{"description":"The clip continues the previous scene as one shot: it starts from the previous clip's last frame.","type":"boolean","enum":[true]}},"required":["id","title","visualPrompt","spokenText","durationSeconds","source","characterIds","audio","fingerprint","takeId"],"additionalProperties":false}},"timeline":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[2]},"output":{"default":{"aspectRatio":"9:16","resolution":"1080p","fps":30},"type":"object","properties":{"aspectRatio":{"default":"9:16","type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"default":"1080p","type":"string","enum":["480p","720p","1080p"]},"fps":{"default":30,"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"title":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},"clips":{"minItems":1,"maxItems":240,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"sceneId":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fit":{"default":"contain","type":"string","enum":["contain","cover"]},"position":{"default":{"x":0.5,"y":0.5},"type":"object","properties":{"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1}},"required":["x","y"],"additionalProperties":false},"transition":{"default":{"kind":"cut","durationSeconds":0},"type":"object","properties":{"kind":{"default":"cut","type":"string","enum":["cut","fade"]},"durationSeconds":{"default":0,"type":"number","minimum":0,"maximum":5}},"required":["kind","durationSeconds"],"additionalProperties":false}},"required":["id","sceneId","assetId","sourceStartSeconds","sourceEndSeconds","volume","fit","position","transition"],"additionalProperties":false}},"audio":{"default":[],"maxItems":120,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"kind":{"type":"string","enum":["narration","music"]},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"startSeconds":{"default":0,"type":"number","minimum":0},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fadeInSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"fadeOutSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"playbackRate":{"type":"number","minimum":1,"maximum":1.25}},"required":["id","assetId","kind","sourceStartSeconds","sourceEndSeconds","startSeconds","volume","fadeInSeconds","fadeOutSeconds"],"additionalProperties":false}},"captions":{"default":[],"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["id","startSeconds","endSeconds","text"],"additionalProperties":false}},"overlays":{"default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"kind":{"type":"string","enum":["text","image","logo"]},"text":{"type":"string","minLength":1,"maxLength":2000},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1},"width":{"default":0.3,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1},"fontSize":{"default":48,"type":"integer","minimum":12,"maximum":200},"color":{"default":"#ffffff","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["id","kind","startSeconds","endSeconds","x","y","width","fontSize","color"],"additionalProperties":false}},"narrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"managed narration","x-moreflow-opaque":{"reason":"Retired managed-narration id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"immutable brand snapshot","x-moreflow-opaque":{"reason":"Retired brand-snapshot id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshot":{"type":"object","properties":{"sourceVersion":{"type":"string","minLength":1,"maxLength":200},"logoAssetId":{"default":null,"x-moreflow-reference":{"resolver":"media.assets.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"primaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"fontFamily":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":120},"overlayStyle":{"default":"minimal","type":"string","enum":["none","minimal","strong"]},"disclosure":{"default":null,"nullable":true,"type":"string","maxLength":500}},"required":["sourceVersion","logoAssetId","primaryColor","secondaryColor","fontFamily","overlayStyle","disclosure"],"additionalProperties":false},"endCard":{"type":"object","properties":{"seconds":{"type":"integer","minimum":1,"maximum":5},"backgroundColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"logoAssetId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["seconds","backgroundColor","logoAssetId"],"additionalProperties":false}},"required":["version","output","scenes","clips","audio","captions","overlays"],"additionalProperties":false},"draftPromptVersion":{"type":"string","minLength":1,"maxLength":80},"look":{"type":"object","properties":{"setting":{"type":"string","minLength":1,"maxLength":400,"description":"The one place the whole video is set, concrete and visual, in English."},"palette":{"type":"string","minLength":1,"maxLength":200,"description":"The dominant colours of the video, in English."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"The one lighting of the whole video, in English."},"wardrobe":{"type":"string","maxLength":300,"description":"What the people wear and the recurring props, in English; empty when nobody is on camera."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"The camera language shared by every scene: lens, framing style and movement, in English."},"person":{"description":"The one recurring person who is not in the cast, in English: apparent age, hair colour and style, face, build, skin tone and clothes, identical in every shot; empty when no uncast person recurs.","type":"string","maxLength":300}},"required":["setting","palette","light","wardrobe","camera"],"additionalProperties":false},"endCard":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the export appends the brand end card."},"seconds":{"default":2,"description":"Length of the end card in seconds, 1 to 5 (default 2).","type":"integer","minimum":1,"maximum":5}},"required":["enabled","seconds"],"additionalProperties":false},"ad":{"description":"Ad layout drawn by every whole-video export: hook headline, safe-area captions, logo and an end card with offer and call to action. Absent for a video that is not an ad.","type":"object","properties":{"hook":{"type":"string","minLength":1,"maxLength":80,"description":"Hook headline shown large in the top third from the first frame, in the video language. Six words or fewer read within two seconds."},"hookSeconds":{"default":2,"description":"How long the hook headline shows from the start, 1 to 4 seconds (default 2).","type":"number","minimum":1,"maximum":4},"offer":{"type":"string","minLength":1,"maxLength":160,"description":"The offer on the end card, in the video language, as the user stated it; never an invented price or result."},"cta":{"type":"string","minLength":1,"maxLength":80,"description":"The call to action on the end card button, in the video language, e.g. \"Jetzt Termin sichern\"."},"endCardSeconds":{"default":3,"description":"Length of the ad end card in seconds, 2 to 5 (default 3).","type":"integer","minimum":2,"maximum":5}},"required":["hook","hookSeconds","offer","cta","endCardSeconds"],"additionalProperties":false},"narration":{"description":"Video-level voice-over of the narration scenes; absent or null when each narration scene is narrated per take.","nullable":true,"type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"],"description":"Prebuilt narration voice, from a closed server list."},"stylePreset":{"type":"string","enum":["calm","energetic","factual"],"description":"Delivery style of the narration, from a closed server list."},"trackId":{"nullable":true,"description":"The synthesized track of this script, voice and style; null until it is synthesized.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["voice","stylePreset","trackId"],"additionalProperties":false},"dialogue":{"description":"How the dialog is spoken: ElevenLabs guide tracks with a voice per speaker; absent or null when the video model voices it alone.","nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["elevenlabs"],"description":"ElevenLabs speaks a guide track of every dialog scene."},"voices":{"maxItems":24,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"A speaker as the dialog lines name them."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The ElevenLabs voice of that speaker."}},"required":["speaker","voice"],"additionalProperties":false},"description":"One voice per speaker of the dialog lines; a speaker without one gets a voice by its label."}},"required":["source","voices"],"additionalProperties":false},"scriptAdaptation":{"description":"How the draft changed the user's words for the voice-over script (shortened to fit, or reworded to sound spoken). Server-owned and ignored on input: kept only while the narration script is unchanged, absent when the script is the user's words, written from the brief, or edited since.","type":"object","properties":{"kind":{"type":"string","enum":["shortened","reworded"],"description":"shortened: the script was tightened to fit budgetSeconds, leaving out droppedPoints; reworded: the user's own script was rewritten to sound spoken."},"budgetSeconds":{"nullable":true,"description":"Seconds the script had to fit; null when the script decided the length.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"droppedPoints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The brief's spoken points the script leaves out, most important first."}},"required":["kind","budgetSeconds","droppedPoints"],"additionalProperties":false}},"required":["version","shape","language","quality","output","scenes","timeline"],"additionalProperties":false},"audioMode":{"nullable":true,"description":"The audio mode of the document, read from its scenes; null while drafting, after a failed draft, or for a document narrated per scene (before voice-over tracks).","type":"string","enum":["voice_over","dialog","none"]}},"required":["id","videoId","number","parentVersionId","origin","editKind","instruction","changedSceneIds","status","autoStart","complete","createdBy","createdAt","document","audioMode"],"additionalProperties":false},"OperationStudioVideosVersionsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","STUDIO_VIDEO_MODEL_UNAVAILABLE"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosVersionsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateErrorDefinitionSchema0"}}]},"OperationStudioVideosVersionsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateErrorDefinitionSchema1"}}]},"OperationStudioVideosVersionsGetInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."}},"required":["videoId","versionId"],"additionalProperties":false},"OperationStudioVideosVersionsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"parentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"origin":{"type":"string","enum":["initial","shape_switch","change","editor","take_restore"]},"editKind":{"nullable":true,"description":"What an editor version did: quality_switch (studio.videos.update quality) or retake (studio.videos.scenes.retry); null for other versions.","type":"string","enum":["quality_switch","retake"]},"instruction":{"nullable":true,"description":"The change text of a `change` version.","type":"string"},"changedSceneIds":{"type":"array","items":{"type":"string"},"description":"Scenes that are new or differ from the parent version."},"status":{"type":"string","enum":["drafting","draft","failed"]},"autoStart":{"type":"string","enum":["not_requested","started","confirmation_required","skipped_no_cost"],"description":"Outcome of the automatic generation start of a change."},"complete":{"type":"boolean","description":"Every generated scene has a succeeded take."},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"document":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[1]},"shape":{"type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"output":{"type":"object","properties":{"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"fps":{"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene identity, stable across versions of one video."}},"title":{"type":"string","minLength":1,"maxLength":200},"visualPrompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Shot description. Without `shot` it is what the video model receives; with `shot` it is a readable description only."},"shot":{"description":"Structured English shot; when present the prompt compiler renders it for the model of each take.","type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":400,"description":"Who or what the shot is about and how it looks."},"beats":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"startSeconds":{"type":"number","minimum":0,"maximum":15,"description":"Beat start within the scene, in seconds."},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":15,"description":"Beat end within the scene, in seconds; after startSeconds."},"action":{"type":"string","minLength":1,"maxLength":300,"description":"The one visible action of this beat, in English, phrased positively."}},"required":["startSeconds","endSeconds","action"],"additionalProperties":false},"description":"Ordered, non-overlapping beats inside the scene duration; one action each."},"setting":{"type":"string","minLength":1,"maxLength":400,"description":"Where the shot takes place."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"Framing and one camera behaviour (static, or one move)."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"Lighting of the shot."},"style":{"type":"string","minLength":1,"maxLength":200,"description":"Visual style and rendering."},"sound":{"type":"string","maxLength":200,"description":"Ambient sound and effects when the scene records native audio; empty for none."},"constraints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What must hold for the whole shot, phrased positively (\"plain, unbranded surfaces\"); rendered last."}},"required":["subject","beats","setting","camera","light","style","sound","constraints"],"additionalProperties":false},"summary":{"description":"Short description of the scene in the video language, for display only.","type":"string","minLength":1,"maxLength":240},"spokenText":{"type":"string","maxLength":2000},"lines":{"description":"The lines of a dialog scene (audio native), each with its speaker, in order; spokenText is their words joined. Absent for every other scene.","minItems":1,"maxItems":12,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"Who says the line: a short English label of a visible person, or a cast character's name."},"text":{"type":"string","minLength":1,"maxLength":500,"description":"The words of the line, in the video language."}},"required":["speaker","text"],"additionalProperties":false}},"durationSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"source":{"type":"string","enum":["generated_video","generated_image","asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"characterIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"studio character"}},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) this generated video scene shows: the presenter's portrait is its likeness and, when the scene speaks, the presenter's fixed voice speaks its spokenText. Every scene of a video names the same presenter. Absent for a scene without one.","type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$","x-moreflow-reference":{"resolver":"studio.presenters.get"}},"audio":{"type":"string","enum":["native","narration","none"]},"variant":{"description":"Re-roll token set by studio.videos.scenes.retry; a new value asks for a fresh take of an otherwise unchanged scene. Keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-roll token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"fingerprint":{"type":"string","minLength":1,"maxLength":128},"takeId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene take"},"keyframe":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"promptFingerprint":{"type":"string","minLength":1,"maxLength":128},"approved":{"type":"boolean"},"createdAt":{"type":"string","minLength":1,"maxLength":64},"stillVariant":{"description":"Re-still token set by studio.videos.keyframes.create regenerateSceneIds. Server-issued; keep it when saving a document.","x-moreflow-opaque":{"reason":"Server-issued re-still token; only its equality matters."},"type":"string","minLength":1,"maxLength":64},"upstreamFingerprint":{"description":"Fingerprint of the previous scene in the chain this still was made from. Server-owned; a difference from the upstream scene's present fingerprint makes the still stale through its upstream.","x-moreflow-opaque":{"reason":"Server-issued fingerprint; only its equality matters."},"type":"string","minLength":1,"maxLength":128}},"required":["assetId","promptFingerprint","approved","createdAt"],"additionalProperties":false},"continuesPrevious":{"description":"The clip continues the previous scene as one shot: it starts from the previous clip's last frame.","type":"boolean","enum":[true]}},"required":["id","title","visualPrompt","spokenText","durationSeconds","source","characterIds","audio","fingerprint","takeId"],"additionalProperties":false}},"timeline":{"nullable":true,"type":"object","properties":{"version":{"type":"number","enum":[2]},"output":{"default":{"aspectRatio":"9:16","resolution":"1080p","fps":30},"type":"object","properties":{"aspectRatio":{"default":"9:16","type":"string","enum":["9:16","1:1","16:9"]},"resolution":{"default":"1080p","type":"string","enum":["480p","720p","1080p"]},"fps":{"default":30,"type":"number","enum":[30]}},"required":["aspectRatio","resolution","fps"],"additionalProperties":false},"scenes":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"title":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},"clips":{"minItems":1,"maxItems":240,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"sceneId":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fit":{"default":"contain","type":"string","enum":["contain","cover"]},"position":{"default":{"x":0.5,"y":0.5},"type":"object","properties":{"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1}},"required":["x","y"],"additionalProperties":false},"transition":{"default":{"kind":"cut","durationSeconds":0},"type":"object","properties":{"kind":{"default":"cut","type":"string","enum":["cut","fade"]},"durationSeconds":{"default":0,"type":"number","minimum":0,"maximum":5}},"required":["kind","durationSeconds"],"additionalProperties":false}},"required":["id","sceneId","assetId","sourceStartSeconds","sourceEndSeconds","volume","fit","position","transition"],"additionalProperties":false}},"audio":{"default":[],"maxItems":120,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"kind":{"type":"string","enum":["narration","music"]},"sourceStartSeconds":{"default":0,"type":"number","minimum":0},"sourceEndSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1200},"startSeconds":{"default":0,"type":"number","minimum":0},"volume":{"default":1,"type":"number","minimum":0,"maximum":2},"fadeInSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"fadeOutSeconds":{"default":0,"type":"number","minimum":0,"maximum":30},"playbackRate":{"type":"number","minimum":1,"maximum":1.25}},"required":["id","assetId","kind","sourceStartSeconds","sourceEndSeconds","startSeconds","volume","fadeInSeconds","fadeOutSeconds"],"additionalProperties":false}},"captions":{"default":[],"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"text":{"type":"string","minLength":1,"maxLength":500}},"required":["id","startSeconds","endSeconds","text"],"additionalProperties":false}},"overlays":{"default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":120,"x-moreflow-opaque":{"reason":"Document-local scene, clip and cue identities resolve within this timeline snapshot."}},"kind":{"type":"string","enum":["text","image","logo"]},"text":{"type":"string","minLength":1,"maxLength":2000},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}},"startSeconds":{"type":"number","minimum":0},"endSeconds":{"type":"number","minimum":0,"exclusiveMinimum":true},"x":{"default":0.5,"type":"number","minimum":0,"maximum":1},"y":{"default":0.5,"type":"number","minimum":0,"maximum":1},"width":{"default":0.3,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":1},"fontSize":{"default":48,"type":"integer","minimum":12,"maximum":200},"color":{"default":"#ffffff","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["id","kind","startSeconds","endSeconds","x","y","width","fontSize","color"],"additionalProperties":false}},"narrationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"managed narration","x-moreflow-opaque":{"reason":"Retired managed-narration id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"immutable brand snapshot","x-moreflow-opaque":{"reason":"Retired brand-snapshot id kept only so stored documents still parse; no operation resolves it."}},"brandSnapshot":{"type":"object","properties":{"sourceVersion":{"type":"string","minLength":1,"maxLength":200},"logoAssetId":{"default":null,"x-moreflow-reference":{"resolver":"media.assets.get"},"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset"},"primaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"default":null,"nullable":true,"type":"string","pattern":"^#[0-9a-f]{6}$"},"fontFamily":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":120},"overlayStyle":{"default":"minimal","type":"string","enum":["none","minimal","strong"]},"disclosure":{"default":null,"nullable":true,"type":"string","maxLength":500}},"required":["sourceVersion","logoAssetId","primaryColor","secondaryColor","fontFamily","overlayStyle","disclosure"],"additionalProperties":false},"endCard":{"type":"object","properties":{"seconds":{"type":"integer","minimum":1,"maximum":5},"backgroundColor":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"logoAssetId":{"default":null,"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"owned media asset","x-moreflow-reference":{"resolver":"media.assets.get"}}},"required":["seconds","backgroundColor","logoAssetId"],"additionalProperties":false}},"required":["version","output","scenes","clips","audio","captions","overlays"],"additionalProperties":false},"draftPromptVersion":{"type":"string","minLength":1,"maxLength":80},"look":{"type":"object","properties":{"setting":{"type":"string","minLength":1,"maxLength":400,"description":"The one place the whole video is set, concrete and visual, in English."},"palette":{"type":"string","minLength":1,"maxLength":200,"description":"The dominant colours of the video, in English."},"light":{"type":"string","minLength":1,"maxLength":200,"description":"The one lighting of the whole video, in English."},"wardrobe":{"type":"string","maxLength":300,"description":"What the people wear and the recurring props, in English; empty when nobody is on camera."},"camera":{"type":"string","minLength":1,"maxLength":200,"description":"The camera language shared by every scene: lens, framing style and movement, in English."},"person":{"description":"The one recurring person who is not in the cast, in English: apparent age, hair colour and style, face, build, skin tone and clothes, identical in every shot; empty when no uncast person recurs.","type":"string","maxLength":300}},"required":["setting","palette","light","wardrobe","camera"],"additionalProperties":false},"endCard":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the export appends the brand end card."},"seconds":{"default":2,"description":"Length of the end card in seconds, 1 to 5 (default 2).","type":"integer","minimum":1,"maximum":5}},"required":["enabled","seconds"],"additionalProperties":false},"ad":{"description":"Ad layout drawn by every whole-video export: hook headline, safe-area captions, logo and an end card with offer and call to action. Absent for a video that is not an ad.","type":"object","properties":{"hook":{"type":"string","minLength":1,"maxLength":80,"description":"Hook headline shown large in the top third from the first frame, in the video language. Six words or fewer read within two seconds."},"hookSeconds":{"default":2,"description":"How long the hook headline shows from the start, 1 to 4 seconds (default 2).","type":"number","minimum":1,"maximum":4},"offer":{"type":"string","minLength":1,"maxLength":160,"description":"The offer on the end card, in the video language, as the user stated it; never an invented price or result."},"cta":{"type":"string","minLength":1,"maxLength":80,"description":"The call to action on the end card button, in the video language, e.g. \"Jetzt Termin sichern\"."},"endCardSeconds":{"default":3,"description":"Length of the ad end card in seconds, 2 to 5 (default 3).","type":"integer","minimum":2,"maximum":5}},"required":["hook","hookSeconds","offer","cta","endCardSeconds"],"additionalProperties":false},"narration":{"description":"Video-level voice-over of the narration scenes; absent or null when each narration scene is narrated per take.","nullable":true,"type":"object","properties":{"voice":{"type":"string","enum":["kore","charon","sulafat","sarah","matilda","george","daniel"],"description":"Prebuilt narration voice, from a closed server list."},"stylePreset":{"type":"string","enum":["calm","energetic","factual"],"description":"Delivery style of the narration, from a closed server list."},"trackId":{"nullable":true,"description":"The synthesized track of this script, voice and style; null until it is synthesized.","x-moreflow-opaque":{"reason":"Server-issued narration track identity; clients read it and never choose it."},"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["voice","stylePreset","trackId"],"additionalProperties":false},"dialogue":{"description":"How the dialog is spoken: ElevenLabs guide tracks with a voice per speaker; absent or null when the video model voices it alone.","nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["elevenlabs"],"description":"ElevenLabs speaks a guide track of every dialog scene."},"voices":{"maxItems":24,"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","minLength":1,"maxLength":80,"description":"A speaker as the dialog lines name them."},"voice":{"type":"string","enum":["sarah","matilda","george","daniel"],"description":"The ElevenLabs voice of that speaker."}},"required":["speaker","voice"],"additionalProperties":false},"description":"One voice per speaker of the dialog lines; a speaker without one gets a voice by its label."}},"required":["source","voices"],"additionalProperties":false},"scriptAdaptation":{"description":"How the draft changed the user's words for the voice-over script (shortened to fit, or reworded to sound spoken). Server-owned and ignored on input: kept only while the narration script is unchanged, absent when the script is the user's words, written from the brief, or edited since.","type":"object","properties":{"kind":{"type":"string","enum":["shortened","reworded"],"description":"shortened: the script was tightened to fit budgetSeconds, leaving out droppedPoints; reworded: the user's own script was rewritten to sound spoken."},"budgetSeconds":{"nullable":true,"description":"Seconds the script had to fit; null when the script decided the length.","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":180},"droppedPoints":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The brief's spoken points the script leaves out, most important first."}},"required":["kind","budgetSeconds","droppedPoints"],"additionalProperties":false}},"required":["version","shape","language","quality","output","scenes","timeline"],"additionalProperties":false},"audioMode":{"nullable":true,"description":"The audio mode of the document, read from its scenes; null while drafting, after a failed draft, or for a document narrated per scene (before voice-over tracks).","type":"string","enum":["voice_over","dialog","none"]},"findings":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Stable rule code (NEGATION, TEXT_OR_SCREEN_CONTENT, LOGO_REQUEST, ACTION_DENSITY, FAST_HAND_MOTION, CHARACTER_INTERACTION, CAMERA_CONFLICT); later rules may add codes, so treat an unknown code as a generic finding."},"severity":{"type":"string","enum":["warning","info"]},"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"message":{"type":"string","description":"What was found, in English. Clients render their own copy keyed by code."},"why":{"type":"string","description":"Why the pattern fails in generated video, in English."},"recovery":{"type":"object","properties":{"operation":{"type":"string","enum":["studio.videos.changes.propose"]},"args":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"sceneIds":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."}},"instruction":{"type":"string","minLength":1,"maxLength":2000},"autoStart":{"type":"boolean","enum":[false],"description":"Always false: applying a finding drafts a change to review and quote, never a paid generation."}},"required":["videoId","sceneIds","instruction","autoStart"],"additionalProperties":false}},"required":["operation","args"],"additionalProperties":false,"description":"A ready studio.videos.changes.propose input that redrafts the scene without the pattern."}},"required":["code","severity","sceneId","message","why","recovery"],"additionalProperties":false},"description":"Preflight findings on the scenes: known failure patterns of video models. Advisory only; generation never waits on them."},"keyframes":{"description":"Per generated scene, in document order: keyframe state (none, current or stale), the upstream scene its still starts from and staleCause, approval, and whether the approved keyframe is the first frame of the next take (firstFrame.refusal says why not).","type":"array","items":{"type":"object","properties":{"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."},"state":{"type":"string","enum":["none","current","stale"],"description":"none: no keyframe; current: made from the scene as it is now; stale: the scene, or an earlier scene of its chain, changed after it was made."},"upstreamSceneId":{"nullable":true,"description":"The previous generated scene whose still this still starts from; null for the first scene of the chain.","type":"string","minLength":1,"maxLength":120},"staleCause":{"nullable":true,"description":"Null when the keyframe is current; otherwise the cause of the state.","oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scene"],"description":"The scene itself changed, or has no still yet."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["upstream"],"description":"An earlier scene of the chain changed, or has no current still; this still starts from that scene's still."},"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"The earliest scene of the chain that is not current: remake its still and every still after it, up to this scene."}},"required":["kind","sceneId"],"additionalProperties":false}]},"estimatedCents":{"nullable":true,"description":"What making this still now costs, in EUR cents: 0 when current or reusable from another version, null when the still model is not configured.","type":"integer","minimum":0,"maximum":9007199254740991},"regenerateCents":{"nullable":true,"description":"What a new still of this scene costs (studio.videos.keyframes.create with regenerateSceneIds), in EUR cents; pass it as expectedTotalCents. Null when the still model is not configured.","type":"integer","minimum":0,"maximum":9007199254740991},"approved":{"type":"boolean"},"assetId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"scene keyframe media asset"},"renderInput":{"type":"string","enum":["keyframe","references","likeness","prompt"],"description":"What the next take of the scene renders from: keyframe (its approved first frame; the video reference images are not sent), likeness (the verified likeness asset, which takes the place of a first frame), references (the video reference images), prompt (the prompt alone)."},"continuesFromSceneId":{"nullable":true,"description":"The scene whose clip's last frame this clip starts from; null when the clip does not continue another.","type":"string","minLength":1,"maxLength":120},"firstFrame":{"type":"object","properties":{"usable":{"type":"boolean","description":"The next take uses the approved keyframe as its first frame, in place of the video reference images."},"refusal":{"nullable":true,"description":"Null when the keyframe is the first frame of the next take.","type":"object","properties":{"code":{"type":"string","description":"Why the keyframe is a preview only: one of LIKENESS_ASSET, REFERENCE_IMAGES, CONTINUATION, MODEL_UNAVAILABLE, MODEL_WITHOUT_FIRST_FRAME, TAKE_EXISTS, KEYFRAME_MISSING, KEYFRAME_NOT_APPROVED, KEYFRAME_STALE. Later rules may add codes; an unknown code shows the message."},"message":{"type":"string","description":"What the refusal means, in English. The clip keeps its references; the keyframe shows the look."},"recovery":{"nullable":true,"description":"The keyframe operation that fixes it, or null when nothing can be changed about it.","type":"object","properties":{"operation":{"type":"string","enum":["studio.videos.keyframes.create","studio.videos.keyframes.approve","studio.videos.scenes.retry"]},"args":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"description":"The version the keyframe operations take; not used by studio.videos.scenes.retry.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sceneIds":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."}},"sceneId":{"type":"string","minLength":1,"maxLength":120,"description":"Document-local scene id from the version document."}},"required":["videoId"],"additionalProperties":false}},"required":["operation","args"],"additionalProperties":false}},"required":["code","message","recovery"],"additionalProperties":false}},"required":["usable","refusal"],"additionalProperties":false}},"required":["sceneId","state","upstreamSceneId","staleCause","estimatedCents","regenerateCents","approved","assetId","renderInput","continuesFromSceneId","firstFrame"],"additionalProperties":false}}},"required":["id","videoId","number","parentVersionId","origin","editKind","instruction","changedSceneIds","status","autoStart","complete","createdBy","createdAt","document","audioMode","findings"],"additionalProperties":false},"OperationStudioVideosVersionsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosVersionsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetErrorDefinitionSchema0"}}]},"OperationStudioVideosVersionsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetErrorDefinitionSchema1"}}]},"OperationStudioVideosVersionsListInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"limit":{"default":25,"description":"Page size, 1–100.","type":"integer","minimum":1,"maximum":100},"cursor":{"description":"Opaque cursor from the previous page.","type":"string","minLength":1,"maxLength":512}},"required":["videoId"],"additionalProperties":false},"OperationStudioVideosVersionsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"number":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"parentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"origin":{"type":"string","enum":["initial","shape_switch","change","editor","take_restore"]},"editKind":{"nullable":true,"description":"What an editor version did: quality_switch (studio.videos.update quality) or retake (studio.videos.scenes.retry); null for other versions.","type":"string","enum":["quality_switch","retake"]},"instruction":{"nullable":true,"description":"The change text of a `change` version.","type":"string"},"changedSceneIds":{"type":"array","items":{"type":"string"},"description":"Scenes that are new or differ from the parent version."},"status":{"type":"string","enum":["drafting","draft","failed"]},"autoStart":{"type":"string","enum":["not_requested","started","confirmation_required","skipped_no_cost"],"description":"Outcome of the automatic generation start of a change."},"complete":{"type":"boolean","description":"Every generated scene has a succeeded take."},"createdBy":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","videoId","number","parentVersionId","origin","editKind","instruction","changedSceneIds","status","autoStart","complete","createdBy","createdAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"description":"Pass as `cursor` for the next page; null on the last page.","type":"string"}},"required":["items","nextCursor"],"additionalProperties":false},"OperationStudioVideosVersionsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosVersionsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListErrorDefinitionSchema0"}}]},"OperationStudioVideosVersionsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListErrorDefinitionSchema1"}}]},"OperationStudioVideosVersionsRestoreInput":{"type":"object","properties":{"videoId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["videoId","versionId"],"additionalProperties":false},"OperationStudioVideosVersionsRestoreOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video id."},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio project id."},"ideaId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio idea id."},"title":{"type":"string"},"prompt":{"nullable":true,"type":"string"},"referenceImageIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Finished private image upload (purpose studio_video_reference; JPEG, PNG or WebP, at most 10 MB)."},"x-moreflow-opaque":{"reason":"Storage object identifiers of private uploads; storage.upload.begin creates them."},"description":"Reference images every scene is generated against, in prompt order."},"brief":{"nullable":true,"description":"The confirmed creative brief the video was created with (studio.videos.create brief); every draft follows it. Null when it was created without one.","type":"object","properties":{"goal":{"type":"string","maxLength":500,"description":"What the video should achieve for the business."},"audience":{"type":"string","maxLength":500,"description":"Who the video is for."},"coreMessage":{"type":"string","maxLength":500,"description":"The one thing a viewer should remember."},"callToAction":{"type":"string","maxLength":200,"description":"What the viewer should do next; empty for none."},"mustShow":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"Subjects, products, places or actions the video has to show."},"avoid":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What the video must not show or say."},"mood":{"type":"string","maxLength":200,"description":"Tone and visual style."},"targetSeconds":{"nullable":true,"description":"Intended total length in seconds; null lets the draft decide.","type":"integer","minimum":4,"maximum":180},"platform":{"nullable":true,"description":"The format the video is made for; null when not for one platform.","type":"string","enum":["instagram_reel","tiktok","youtube_short","linkedin_video"]},"cast":{"maxItems":5,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio character id."},"description":"Characters (studio.characters.get) who appear in the video."},"spoken":{"description":"What the video says, independent of how the request wrote it: hook, ranked points and the user's own script; the call to action is callToAction. Absent on briefs from a starter template or from before studio-video-brief-v3.","type":"object","properties":{"hook":{"type":"string","maxLength":200,"description":"The opening idea that wins the viewer in the first two seconds, in the video language; empty when the video says nothing."},"points":{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"The key points the video says, most important first. A script that runs too long drops the last point, never grammar."},"userScript":{"type":"string","maxLength":8000,"description":"The spoken words the request itself wrote (a voice-over or lines), copied exactly from it: reference for content and tone. Empty when the request wrote none."},"verbatim":{"type":"boolean","description":"True only when the request explicitly asks to keep userScript word for word (\"genau so\", \"wörtlich\", \"verbatim\", \"word for word\"); the script is then kept exactly and the length yields."}},"required":["hook","points","userScript","verbatim"],"additionalProperties":false},"template":{"description":"The starter template the video was created from; absent for a video created from a prompt or an idea.","type":"object","properties":{"id":{"type":"string","enum":["product_close_up","talking_head_tip","customer_testimonial","before_after","behind_the_scenes","offer_announcement"],"description":"The starter template (studio.templates.list)."},"slots":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":1000},{"maxItems":8,"type":"array","items":{"type":"string","maxLength":120}}]},"description":"The slot values the video was created with."}},"required":["id","slots"],"additionalProperties":false},"ad":{"description":"The ad the video was created from (studio.videos.create ad): its brief and checked script, with the hook, beats, offer and call to action the ad renders. Absent for every other video.","type":"object","properties":{"brief":{"type":"object","properties":{"language":{"type":"string","enum":["de","en"],"description":"The language the ad is spoken in."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the call to action names it, e.g. \"MPU-Infoabend\" or \"free first consultation\"."},"description":{"type":"string","maxLength":500,"description":"What the offer is and what the customer gets."},"price":{"nullable":true,"description":"The price exactly as the user states it; null when the ad names no price. Never proposed.","type":"string","minLength":1,"maxLength":60}},"required":["name","description","price"],"additionalProperties":false},"audience":{"type":"string","maxLength":500,"description":"Who the ad speaks to: their situation and what they want."},"mainPain":{"type":"string","maxLength":500,"description":"The one problem the ad opens with."},"objections":{"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"description":"What keeps the audience from buying, most common first."},"proof":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["testimonial","statistic","result","credential","other"],"description":"testimonial: a customer's own words (the only proof an ad may quote); statistic, result, credential or other: a fact the business can back."},"text":{"type":"string","minLength":1,"maxLength":400,"description":"The proof exactly as the user supplies it; numbers, prices and quotes in an ad must come from here or another brief field."},"source":{"nullable":true,"description":"Where the proof comes from (a customer's first name, a review site, a certificate); null when not stated.","type":"string","minLength":1,"maxLength":120}},"required":["kind","text","source"],"additionalProperties":false},"description":"Proof the user supplies: testimonials, numbers, results, credentials. Never proposed; an ad states no proof that is not here."},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"What the viewer does next, e.g. \"Book your seat\"."},"landingUrl":{"nullable":true,"description":"Where the ad sends the viewer; null for none.","type":"string","maxLength":2048},"brandKit":{"type":"object","properties":{"logoAssetId":{"nullable":true,"x-moreflow-reference":{"resolver":"media.assets.get"},"description":"The logo the ad end card shows; null for none.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"primaryColor":{"nullable":true,"description":"The brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"},"secondaryColor":{"nullable":true,"description":"A second brand colour as #rrggbb; null for none.","type":"string","pattern":"^#[0-9a-f]{6}$"}},"required":["logoAssetId","primaryColor","secondaryColor"],"additionalProperties":false,"description":"Logo and colours of the ad end card; seeded from the project brand."}},"required":["language","offer","audience","mainPain","objections","proof","callToAction","landingUrl","brandKit"],"additionalProperties":false,"description":"The confirmed ad brief the script was checked against."},"script":{"type":"object","properties":{"formatId":{"type":"string","enum":["myth_vs_fact","problem_solution","testimonial_style","objection_handling","three_things"],"x-moreflow-reference":{"resolver":"studio.ads.formats.get"},"description":"The ad format (studio.ads.formats.list)."},"language":{"type":"string","enum":["de","en"],"description":"The language the presenter speaks; the brief's language."},"hook":{"type":"string","minLength":1,"maxLength":80,"description":"The hook headline: at most 6 words, spoken as the first beat within the first 2 seconds and shown as the headline."},"beats":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["hook","problem","proof","offer","cta"],"description":"The beat: hook, problem, proof, offer or cta, in this order."},"startSeconds":{"type":"number","minimum":0,"description":"When the beat starts; the format fixes it."},"endSeconds":{"type":"number","minimum":0,"description":"When the beat ends; the format fixes it."},"spokenText":{"type":"string","minLength":1,"maxLength":400,"description":"What the presenter says to the camera in this beat."}},"required":["role","startSeconds","endSeconds","spokenText"],"additionalProperties":false},"description":"The five timed beats in order."},"offer":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"The offer as the brief names it; the cta beat says it."},"price":{"nullable":true,"description":"The brief's price; null when the ad names none.","type":"string","minLength":1,"maxLength":60}},"required":["name","price"],"additionalProperties":false},"callToAction":{"type":"string","minLength":1,"maxLength":80,"description":"The brief's call to action, for the end card."},"landingUrl":{"nullable":true,"description":"The brief's landing URL; null for none.","type":"string","maxLength":2048},"setting":{"type":"string","minLength":1,"maxLength":300,"description":"The one place the whole ad is filmed in, in English for the video model."},"disclosure":{"nullable":true,"description":"The label a dramatised format shows (studio.ads.formats.get disclosure, in the ad language); null otherwise.","type":"string","minLength":1,"maxLength":120},"durationSeconds":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The length of the ad."}},"required":["formatId","language","hook","beats","offer","callToAction","landingUrl","setting","disclosure","durationSeconds"],"additionalProperties":false,"description":"The checked ad script the video speaks."},"presenterId":{"description":"The stock AI presenter (studio.presenters.list) who speaks every scene of the ad with the same face and fixed voice; it must speak the script language. Omit for the default presenter of the language; null for a presenter described in words only (the face can change between scenes).","x-moreflow-reference":{"resolver":"studio.presenters.get"},"nullable":true,"type":"string","maxLength":64,"pattern":"^presenter_[a-z0-9]+(?:_[a-z0-9]+)*$"}},"required":["brief","script"],"additionalProperties":false}},"required":["goal","audience","coreMessage","callToAction","mustShow","avoid","mood","targetSeconds","platform","cast"],"additionalProperties":false},"shape":{"type":"string","enum":["clip","story"]},"suggestedShape":{"nullable":true,"description":"Set by the server when drafting completes.","type":"string","enum":["clip","story"]},"language":{"type":"string","enum":["de","en"]},"aspectRatio":{"type":"string","enum":["9:16","1:1","16:9"]},"quality":{"type":"string","enum":["standard","pro","custom"]},"videoModel":{"nullable":true,"description":"The model of the custom quality; null for standard and pro.","type":"string","x-moreflow-reference":{"resolver":"ai.models.get"}},"resolution":{"type":"string","enum":["480p","720p","1080p"],"description":"Output resolution the next generation renders: the chosen one, else the quality's default."},"resolutions":{"type":"array","items":{"type":"string","enum":["480p","720p","1080p"]},"description":"Resolutions the current quality and model offer, lowest first; studio.videos.update resolution picks one."},"status":{"type":"string","enum":["drafting","draft","generating","ready","failed"]},"currentVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"latestVersionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio video version id."},"activeGenerationId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio generation id."},"latestExportId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Studio export id."},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canSwitchShape":{"type":"boolean","description":"Shape and aspect ratio can still change: no generation has started."}},"required":["canManage","canSwitchShape"],"additionalProperties":false},"createdBy":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"User id."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","projectId","ideaId","title","prompt","referenceImageIds","brief","shape","suggestedShape","language","aspectRatio","quality","videoModel","resolution","resolutions","status","currentVersionId","latestVersionId","activeGenerationId","latestExportId","capabilities","createdBy","createdAt","updatedAt"],"additionalProperties":false},"OperationStudioVideosVersionsRestoreError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationStudioVideosVersionsRestoreErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreErrorDefinitionSchema0"}}]},"OperationStudioVideosVersionsRestoreErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreErrorDefinitionSchema1"}}]},"OperationUsersCurrentGetInput":{"default":{},"type":"object","properties":{}},"OperationUsersCurrentGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"UserId"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"role":{"type":"string","enum":["owner","admin","sales","billing"]},"status":{"type":"string","enum":["pending","active","removed","disabled"]},"timezone":{"nullable":true,"type":"string"},"lastActiveAt":{"nullable":true,"description":"Latest explicit presence heartbeat across team, client, and note locations. This is real device activity, not a Better Auth session refresh.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManageAccount":{"type":"boolean"},"canManageAccountSettings":{"type":"boolean"},"canManageBilling":{"type":"boolean"},"canManageCallingSettings":{"type":"boolean"},"canManageIntegrations":{"type":"boolean"},"canManageTeam":{"type":"boolean"}},"required":["canManageAccount","canManageAccountSettings","canManageBilling","canManageCallingSettings","canManageIntegrations","canManageTeam"],"additionalProperties":false}},"required":["id","accountId","email","firstName","lastName","role","status","timezone","lastActiveAt","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationUsersCurrentGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersCurrentGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationUsersCurrentGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationUsersCurrentGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationUsersCurrentGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersCurrentGetErrorDefinitionSchema0"}}]},"OperationUsersCurrentGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationUsersCurrentGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersCurrentGetErrorDefinitionSchema1"}}]},"OperationUsersMembershipsBatchGetInput":{"type":"object","properties":{"userIds":{"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["userIds"]},"OperationUsersMembershipsBatchGetOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"UserId"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"role":{"type":"string","enum":["owner","admin","sales","billing"]},"status":{"type":"string","enum":["pending","active","removed","disabled"]},"timezone":{"nullable":true,"type":"string"},"lastActiveAt":{"nullable":true,"description":"Latest explicit presence heartbeat across team, client, and note locations. This is real device activity, not a Better Auth session refresh.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","email","firstName","lastName","role","status","timezone","lastActiveAt","createdAt","updatedAt"],"additionalProperties":false}}},"required":["items"],"additionalProperties":false},"OperationUsersMembershipsBatchGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationUsersMembershipsBatchGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetErrorDefinitionSchema0"}}]},"OperationUsersMembershipsBatchGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetErrorDefinitionSchema1"}}]},"OperationUsersMembershipsGetInput":{"type":"object","properties":{"userId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["userId"]},"OperationUsersMembershipsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"UserId"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"role":{"type":"string","enum":["owner","admin","sales","billing"]},"status":{"type":"string","enum":["pending","active","removed","disabled"]},"timezone":{"nullable":true,"type":"string"},"lastActiveAt":{"nullable":true,"description":"Latest explicit presence heartbeat across team, client, and note locations. This is real device activity, not a Better Auth session refresh.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManageAccount":{"type":"boolean"},"canManageAccountSettings":{"type":"boolean"},"canManageBilling":{"type":"boolean"},"canManageCallingSettings":{"type":"boolean"},"canManageIntegrations":{"type":"boolean"},"canManageTeam":{"type":"boolean"}},"required":["canManageAccount","canManageAccountSettings","canManageBilling","canManageCallingSettings","canManageIntegrations","canManageTeam"],"additionalProperties":false}},"required":["id","accountId","email","firstName","lastName","role","status","timezone","lastActiveAt","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationUsersMembershipsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationUsersMembershipsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationUsersMembershipsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsGetErrorDefinitionSchema0"}}]},"OperationUsersMembershipsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationUsersMembershipsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsGetErrorDefinitionSchema1"}}]},"OperationUsersMembershipsListInput":{"type":"object","properties":{"cursor":{"description":"Opaque cursor returned by the preceding page.","type":"string","minLength":1},"limit":{"default":25,"description":"Number of memberships to return; must be between 1 and 100 and defaults to 25.","type":"integer","minimum":1,"maximum":100}}},"OperationUsersMembershipsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","x-domain-id":"UserId"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"role":{"type":"string","enum":["owner","admin","sales","billing"]},"status":{"type":"string","enum":["pending","active","removed","disabled"]},"timezone":{"nullable":true,"type":"string"},"lastActiveAt":{"nullable":true,"description":"Latest explicit presence heartbeat across team, client, and note locations. This is real device activity, not a Better Auth session refresh.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"livePresence":{"type":"object","properties":{"lastSeenAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"expiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"activeWindowMs":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991,"description":"Presence expiry window in milliseconds."},"online":{"type":"boolean","description":"True only when an explicit team presence heartbeat exists inside activeWindowMs."}},"required":["lastSeenAt","expiresAt","activeWindowMs","online"],"additionalProperties":false,"description":"Explicit live team presence signal. This is backed by presence heartbeats and must not be inferred from Better Auth session refreshes."},"capabilities":{"type":"object","properties":{"canChangeRole":{"type":"boolean"},"canDeactivate":{"type":"boolean"},"canReactivate":{"type":"boolean"},"canRemove":{"type":"boolean"},"canViewLastActivity":{"type":"boolean"},"canResendInvitation":{"type":"boolean"},"canCopyInvitationLink":{"type":"boolean"},"canRevokeInvitation":{"type":"boolean"}},"required":["canChangeRole","canDeactivate","canReactivate","canRemove","canViewLastActivity","canResendInvitation","canCopyInvitationLink","canRevokeInvitation"],"additionalProperties":false}},"required":["id","accountId","email","firstName","lastName","role","status","timezone","lastActiveAt","createdAt","updatedAt","livePresence","capabilities"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"capabilities":{"type":"object","properties":{"canInviteMembers":{"type":"boolean"},"canManageTeam":{"type":"boolean"},"canViewLastActivity":{"type":"boolean"}},"required":["canInviteMembers","canManageTeam","canViewLastActivity"],"additionalProperties":false}},"required":["items","nextCursor","capabilities"],"additionalProperties":false},"OperationUsersMembershipsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationUsersMembershipsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationUsersMembershipsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsListErrorDefinitionSchema0"}}]},"OperationUsersMembershipsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationUsersMembershipsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationUsersMembershipsListErrorDefinitionSchema1"}}]},"OperationWebhooksDeliveriesGetInput":{"type":"object","properties":{"deliveryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["deliveryId"]},"OperationWebhooksDeliveriesGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"endpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"eventId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"attempt":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["queued","retrying","delivered","failed","exhausted"]},"httpStatus":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"durationMs":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"requestExcerpt":{"nullable":true,"type":"string"},"responseExcerpt":{"nullable":true,"type":"string"},"error":{"nullable":true,"type":"string"},"nextAttemptAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"leaseExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canCreate":{"type":"boolean"},"canEnable":{"type":"boolean"},"canRedeliver":{"type":"boolean"}},"required":["canManage","canCreate","canEnable","canRedeliver"],"additionalProperties":false}},"required":["id","accountId","endpointId","eventId","attempt","status","httpStatus","durationMs","requestExcerpt","responseExcerpt","error","nextAttemptAt","leaseExpiresAt","completedAt","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationWebhooksDeliveriesGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksDeliveriesGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetErrorDefinitionSchema0"}}]},"OperationWebhooksDeliveriesGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetErrorDefinitionSchema1"}}]},"OperationWebhooksDeliveriesListInput":{"type":"object","properties":{"endpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"eventId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"statuses":{"minItems":1,"type":"array","items":{"type":"string","enum":["queued","retrying","delivered","failed","exhausted"]}},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationWebhooksDeliveriesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"endpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"eventId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"attempt":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["queued","retrying","delivered","failed","exhausted"]},"httpStatus":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"durationMs":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"requestExcerpt":{"nullable":true,"type":"string"},"responseExcerpt":{"nullable":true,"type":"string"},"error":{"nullable":true,"type":"string"},"nextAttemptAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"leaseExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","endpointId","eventId","attempt","status","httpStatus","durationMs","requestExcerpt","responseExcerpt","error","nextAttemptAt","leaseExpiresAt","completedAt","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canCreate":{"type":"boolean"},"canEnable":{"type":"boolean"},"canRedeliver":{"type":"boolean"}},"required":["canManage","canCreate","canEnable","canRedeliver"],"additionalProperties":false}},"required":["items","nextCursor","capabilities"],"additionalProperties":false},"OperationWebhooksDeliveriesListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksDeliveriesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListErrorDefinitionSchema0"}}]},"OperationWebhooksDeliveriesListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListErrorDefinitionSchema1"}}]},"OperationWebhooksDeliveriesRedeliverInput":{"type":"object","properties":{"deliveryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["deliveryId"]},"OperationWebhooksDeliveriesRedeliverOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"endpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"eventId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"attempt":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["queued","retrying","delivered","failed","exhausted"]},"httpStatus":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"durationMs":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"requestExcerpt":{"nullable":true,"type":"string"},"responseExcerpt":{"nullable":true,"type":"string"},"error":{"nullable":true,"type":"string"},"nextAttemptAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"leaseExpiresAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"completedAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canCreate":{"type":"boolean"},"canEnable":{"type":"boolean"},"canRedeliver":{"type":"boolean"}},"required":["canManage","canCreate","canEnable","canRedeliver"],"additionalProperties":false}},"required":["id","accountId","endpointId","eventId","attempt","status","httpStatus","durationMs","requestExcerpt","responseExcerpt","error","nextAttemptAt","leaseExpiresAt","completedAt","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationWebhooksDeliveriesRedeliverError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","INVALID_STATE","CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksDeliveriesRedeliverErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverErrorDefinitionSchema0"}}]},"OperationWebhooksDeliveriesRedeliverErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverErrorDefinitionSchema1"}}]},"OperationWebhooksEndpointsCreateInput":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2048,"format":"uri"},"events":{"minItems":1,"maxItems":46,"type":"array","items":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["name","url","events"]},"OperationWebhooksEndpointsCreateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]}},"status":{"type":"string","enum":["active","disabled","auto_disabled"]},"failureStreak":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastSuccessAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastFailureAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disabledReason":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canCreate":{"type":"boolean"},"canEnable":{"type":"boolean"},"canRedeliver":{"type":"boolean"}},"required":["canManage","canCreate","canEnable","canRedeliver"],"additionalProperties":false},"secret":{"type":"string","minLength":1}},"required":["id","accountId","name","url","events","status","failureStreak","lastSuccessAt","lastFailureAt","disabledReason","createdAt","updatedAt","capabilities","secret"],"additionalProperties":false},"OperationWebhooksEndpointsCreateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","VALIDATION_ERROR","CONFIGURATION_ERROR","UPGRADE_REQUIRED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksEndpointsCreateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateErrorDefinitionSchema0"}}]},"OperationWebhooksEndpointsCreateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateErrorDefinitionSchema1"}}]},"OperationWebhooksEndpointsDeleteInput":{"type":"object","properties":{"endpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["endpointId"]},"OperationWebhooksEndpointsDeleteOutput":{"type":"object","properties":{},"additionalProperties":false},"OperationWebhooksEndpointsDeleteError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksEndpointsDeleteErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteErrorDefinitionSchema0"}}]},"OperationWebhooksEndpointsDeleteErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteErrorDefinitionSchema1"}}]},"OperationWebhooksEndpointsEnabledUpdateInput":{"type":"object","properties":{"endpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"enabled":{"type":"boolean"},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["endpointId","enabled"]},"OperationWebhooksEndpointsEnabledUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]}},"status":{"type":"string","enum":["active","disabled","auto_disabled"]},"failureStreak":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastSuccessAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastFailureAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disabledReason":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canCreate":{"type":"boolean"},"canEnable":{"type":"boolean"},"canRedeliver":{"type":"boolean"}},"required":["canManage","canCreate","canEnable","canRedeliver"],"additionalProperties":false}},"required":["id","accountId","name","url","events","status","failureStreak","lastSuccessAt","lastFailureAt","disabledReason","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationWebhooksEndpointsEnabledUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","UPGRADE_REQUIRED"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksEndpointsEnabledUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateErrorDefinitionSchema0"}}]},"OperationWebhooksEndpointsEnabledUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateErrorDefinitionSchema1"}}]},"OperationWebhooksEndpointsGetInput":{"type":"object","properties":{"endpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["endpointId"]},"OperationWebhooksEndpointsGetOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]}},"status":{"type":"string","enum":["active","disabled","auto_disabled"]},"failureStreak":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastSuccessAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastFailureAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disabledReason":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canCreate":{"type":"boolean"},"canEnable":{"type":"boolean"},"canRedeliver":{"type":"boolean"}},"required":["canManage","canCreate","canEnable","canRedeliver"],"additionalProperties":false}},"required":["id","accountId","name","url","events","status","failureStreak","lastSuccessAt","lastFailureAt","disabledReason","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationWebhooksEndpointsGetError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksEndpointsGetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetErrorDefinitionSchema0"}}]},"OperationWebhooksEndpointsGetErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetErrorDefinitionSchema1"}}]},"OperationWebhooksEndpointsListInput":{"type":"object","properties":{"statuses":{"minItems":1,"type":"array","items":{"type":"string","enum":["active","disabled","auto_disabled"]}},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationWebhooksEndpointsListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]}},"status":{"type":"string","enum":["active","disabled","auto_disabled"]},"failureStreak":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastSuccessAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastFailureAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disabledReason":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","accountId","name","url","events","status","failureStreak","lastSuccessAt","lastFailureAt","disabledReason","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canCreate":{"type":"boolean"},"canEnable":{"type":"boolean"},"canRedeliver":{"type":"boolean"}},"required":["canManage","canCreate","canEnable","canRedeliver"],"additionalProperties":false}},"required":["items","nextCursor","capabilities"],"additionalProperties":false},"OperationWebhooksEndpointsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksEndpointsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListErrorDefinitionSchema0"}}]},"OperationWebhooksEndpointsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListErrorDefinitionSchema1"}}]},"OperationWebhooksEndpointsRotateSecretInput":{"type":"object","properties":{"endpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"overlapMs":{"type":"integer","minimum":60000,"maximum":86400000},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["endpointId"]},"OperationWebhooksEndpointsRotateSecretOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]}},"status":{"type":"string","enum":["active","disabled","auto_disabled"]},"failureStreak":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastSuccessAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastFailureAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disabledReason":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canCreate":{"type":"boolean"},"canEnable":{"type":"boolean"},"canRedeliver":{"type":"boolean"}},"required":["canManage","canCreate","canEnable","canRedeliver"],"additionalProperties":false},"secret":{"type":"string","minLength":1}},"required":["id","accountId","name","url","events","status","failureStreak","lastSuccessAt","lastFailureAt","disabledReason","createdAt","updatedAt","capabilities","secret"],"additionalProperties":false},"OperationWebhooksEndpointsRotateSecretError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","CONFIGURATION_ERROR","CONFLICT"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksEndpointsRotateSecretErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretErrorDefinitionSchema0"}}]},"OperationWebhooksEndpointsRotateSecretErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretErrorDefinitionSchema1"}}]},"OperationWebhooksEndpointsTestInput":{"type":"object","properties":{"endpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"eventType":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["endpointId"]},"OperationWebhooksEndpointsTestOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]},"occurrenceKey":{"type":"string","minLength":1},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canCreate":{"type":"boolean"},"canEnable":{"type":"boolean"},"canRedeliver":{"type":"boolean"}},"required":["canManage","canCreate","canEnable","canRedeliver"],"additionalProperties":false}},"required":["id","type","occurrenceKey","occurredAt","capabilities"],"additionalProperties":false},"OperationWebhooksEndpointsTestError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","INVALID_STATE","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksEndpointsTestErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestErrorDefinitionSchema0"}}]},"OperationWebhooksEndpointsTestErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestErrorDefinitionSchema1"}}]},"OperationWebhooksEndpointsUpdateInput":{"type":"object","properties":{"endpointId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2048,"format":"uri"},"events":{"minItems":1,"maxItems":46,"type":"array","items":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]}},"confirm":{"type":"boolean","const":true,"description":"Set to true only after explicit user confirmation when a prior response returned CONFIRMATION_REQUIRED."}},"required":["endpointId"]},"OperationWebhooksEndpointsUpdateOutput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]}},"status":{"type":"string","enum":["active","disabled","auto_disabled"]},"failureStreak":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastSuccessAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastFailureAt":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"disabledReason":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"capabilities":{"type":"object","properties":{"canManage":{"type":"boolean"},"canCreate":{"type":"boolean"},"canEnable":{"type":"boolean"},"canRedeliver":{"type":"boolean"}},"required":["canManage","canCreate","canEnable","canRedeliver"],"additionalProperties":false}},"required":["id","accountId","name","url","events","status","failureStreak","lastSuccessAt","lastFailureAt","disabledReason","createdAt","updatedAt","capabilities"],"additionalProperties":false},"OperationWebhooksEndpointsUpdateError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","NOT_FOUND","VALIDATION_ERROR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksEndpointsUpdateErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateErrorDefinitionSchema0"}}]},"OperationWebhooksEndpointsUpdateErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateErrorDefinitionSchema1"}}]},"OperationWebhooksEventsListInput":{"type":"object","properties":{"level":{"default":1,"anyOf":[{"type":"number","enum":[1]},{"type":"number","enum":[2]}]},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1}}},"OperationWebhooksEventsListOutput":{"type":"object","properties":{"level":{"anyOf":[{"type":"number","enum":[1]},{"type":"number","enum":[2]}]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]},"type":{"type":"string","enum":["client.created","client.updated","client.pipeline_stage_changed","client.owner_changed","client.archived","client.restored","client.deleted","client.merged","tag.added","tag.removed","note.created","follow_up.created","follow_up.completed","message.created","form_submission.created","offer.created","offer.sent","offer.accepted","offer.viewed","offer.declined","offer.expired","contract.created","contract.updated","contract.deleted","contract.signed","contract.viewed","contract.cancelled","payment.created","payment.updated","payment.succeeded","payment.failed","invoice.created","invoice.status_changed","invoice.paid","meeting.booked","meeting.cancelled","meeting.rescheduled","meeting.completed","meeting.no_show","call.completed","call.missed","call.not_reached","deal.created","deal.stage_changed","deal.won","deal.lost"]},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"entityType":{"type":"string","enum":["client","note","follow_up","tag","message","form_submission","contract","payment","offer","invoice","meeting","call","deal"]},"summary":{"type":"string"},"occurrenceKey":{"type":"string"},"payloadSchema":{"nullable":true,"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEventsListOutputDefinitionSchema0"}}},"required":["id","type","version","entityType","summary","occurrenceKey","payloadSchema"],"additionalProperties":false}},"nextCursor":{"nullable":true,"type":"string"}},"required":["level","items","nextCursor"],"additionalProperties":false},"OperationWebhooksEventsListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEventsListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEventsListOutputDefinitionSchema0"}}]},"OperationWebhooksEventsListError":{"type":"object","properties":{"error":{"type":"object","properties":{"category":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","PERMISSION_DENIED","NOT_FOUND","ALREADY_EXISTS","ABORTED","FAILED_PRECONDITION","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"description":"Canonical error category; determines the HTTP status."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code.","enum":["AUTH_ERROR","FORBIDDEN","VALIDATION_ERROR","NOT_FOUND","UNAUTHORIZED","INVALID_ARGUMENT","POLICY_DENIED","CONFIRMATION_REQUIRED","RATE_LIMIT","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_PROGRESS","UPGRADE_REQUIRED","SUBSCRIPTION_INACTIVE","MOBILE_APP_UPDATE_REQUIRED","WORKSPACE_NOT_PROVISIONED","CONTRACT_ERROR","INTERNAL_ERROR","INVALID_CURSOR"]},"message":{"type":"string","description":"Human-readable English explanation; clients branch on code."},"recovery":{"nullable":true,"description":"Suggested resolving operation and explicit arguments, or null when none exists.","type":"object","properties":{"operation":{"type":"string","pattern":"^[a-z][A-Za-z0-9_-]*(?:\\.[A-Za-z0-9_-]+)*$"},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEventsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string"}}},"required":["operation"],"additionalProperties":false},"details":{"type":"object","properties":{"fieldViolations":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dot path into the rejected input; empty for the whole request."},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]*$","description":"Stable uppercase reason code."},"description":{"type":"string","description":"Human-readable explanation of the rejected field."}},"required":["field","code","description"],"additionalProperties":false}}},"additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEventsListErrorDefinitionSchema1"},"description":"Caller-safe structured context; invalid arguments include fieldViolations."},"requestId":{"type":"string","minLength":1,"description":"Request correlation identifier shared with the X-Request-Id header."}},"required":["category","code","message","recovery","details","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"OperationWebhooksEventsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEventsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEventsListErrorDefinitionSchema0"}}]},"OperationWebhooksEventsListErrorDefinitionSchema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationWebhooksEventsListErrorDefinitionSchema1"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationWebhooksEventsListErrorDefinitionSchema1"}}]},"OperationChatbotsEmbedGetPublicInput":{"type":"object","properties":{}},"OperationChatbotsEmbedGetPublicOutput":{"type":"object","properties":{"chatbot":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mode":{"type":"string"},"settings":{"type":"object","properties":{"welcomeMessage":{"description":"First assistant message shown before the visitor writes.","type":"string"},"language":{"description":"Chat language; clients default to de.","type":"string","enum":["de","en"]},"metaPixelId":{"description":"Meta pixel the browser fires chat events to.","type":"string"},"metaEventChatStarted":{"description":"Meta event fired when the visitor starts a chat.","type":"string"},"metaEventLeadCreated":{"description":"Meta event fired when the chat creates a lead.","type":"string"},"tiktokPixelId":{"description":"TikTok pixel the browser fires chat events to: the chatbot's own, else the account's TikTok integration pixel.","type":"string"},"tiktokEventLeadCreated":{"description":"TikTok event fired when the chat creates a lead.","type":"string"}},"additionalProperties":false},"embedSettings":{"type":"object","properties":{"primaryColor":{"description":"Accent color of the chat header, bubbles and send button.","type":"string"},"widgetPosition":{"description":"Corner the chat button and panel open in; the SDK takes it only from this server config.","type":"string","enum":["bottom_right","bottom_left"]},"teaser":{"description":"Teaser bubbles; the first message is the greeting when no welcome message is set.","type":"object","properties":{"enabled":{"type":"boolean"},"messages":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"],"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"leadFields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string"},"required":{"type":"boolean"}},"required":["key"],"additionalProperties":false}},"avatarUrl":{"nullable":true,"type":"string"},"companyLogoUrl":{"nullable":true,"type":"string"},"leadConsent":{"type":"array","items":{"type":"object","properties":{"purpose":{"type":"string","enum":["marketing_email","email_tracking"]},"text":{"type":"string","description":"The account-authored consent text to show the visitor verbatim."},"wordingVersion":{"type":"string","description":"Send back with the answer; it identifies the text the visitor saw."},"required":{"type":"boolean","description":"When true, embed messages are refused until the visitor grants this purpose."}},"required":["purpose","text","wordingVersion","required"],"additionalProperties":false}}},"required":["id","name","mode","settings","embedSettings","leadFields","avatarUrl","companyLogoUrl","leadConsent"],"additionalProperties":false},"trace":{"type":"object","properties":{"requestId":{"type":"string"},"traceId":{"type":"string"}},"required":["requestId","traceId"],"additionalProperties":false}},"required":["chatbot","trace"],"additionalProperties":false},"OperationChatbotsEmbedGetPublicError":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false}},"required":["success","error"],"additionalProperties":false},"OperationChatbotsEmbedGetPublicErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorDefinitionSchema0"}}]},"OperationChatbotsEmbedGetPublicErrorTransport":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorTransportDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorTransportDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorTransportDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorTransportDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false},"OperationChatbotsEmbedGetPublicErrorTransportDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorTransportDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorTransportDefinitionSchema0"}}]},"OperationChatbotsEmbedMessagesListInput":{"type":"object","properties":{"threadId":{"type":"string","minLength":1},"visitorId":{"type":"string","minLength":1},"cursor":{"type":"string","minLength":1},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100}},"required":["threadId","visitorId"]},"OperationChatbotsEmbedMessagesListOutput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"chatbotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"threadId":{"type":"string"},"conversationId":{"type":"string"},"visitorId":{"type":"string"},"role":{"type":"string","enum":["visitor","assistant","agent","system"]},"text":{"type":"string"},"status":{"type":"string","enum":["pending","sent","failed"]},"metadata":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListOutputDefinitionSchema0"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","accountId","chatbotId","threadId","role","text","status","metadata","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"type":"string"},"hasMore":{"type":"boolean"},"trace":{"type":"object","properties":{"requestId":{"type":"string"},"traceId":{"type":"string"}},"required":["requestId","traceId"],"additionalProperties":false}},"required":["items","hasMore","trace"],"additionalProperties":false},"OperationChatbotsEmbedMessagesListOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListOutputDefinitionSchema0"}}]},"OperationChatbotsEmbedMessagesListError":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false}},"required":["success","error"],"additionalProperties":false},"OperationChatbotsEmbedMessagesListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorDefinitionSchema0"}}]},"OperationChatbotsEmbedMessagesListErrorTransport":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorTransportDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorTransportDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorTransportDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorTransportDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false},"OperationChatbotsEmbedMessagesListErrorTransportDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorTransportDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorTransportDefinitionSchema0"}}]},"OperationChatbotsEmbedMessagesSendInput":{"type":"object","properties":{"threadId":{"type":"string"},"visitorId":{"type":"string"},"message":{"type":"string","minLength":1,"pattern":"\\S"},"metadata":{"default":{},"type":"object","properties":{"deviceType":{"type":"string"},"device_type":{"type":"string"},"browser":{"type":"string"},"browserVersion":{"type":"string"},"browser_version":{"type":"string"},"os":{"type":"string"},"osVersion":{"type":"string"},"os_version":{"type":"string"},"country":{"type":"string"},"countryCode":{"type":"string"},"country_code":{"type":"string"},"city":{"type":"string"},"pageUrl":{"type":"string"},"page_url":{"type":"string"},"referrer":{"type":"string"},"trafficSource":{"type":"string"},"traffic_source":{"type":"string"},"utmSource":{"type":"string"},"utm_source":{"type":"string"},"utmMedium":{"type":"string"},"utm_medium":{"type":"string"},"utmCampaign":{"type":"string"},"utm_campaign":{"type":"string"},"utmTerm":{"type":"string"},"utm_term":{"type":"string"},"utmContent":{"type":"string"},"utm_content":{"type":"string"},"utmCampaignId":{"type":"string"},"utm_campaignid":{"type":"string"},"utm_campaign_id":{"type":"string"},"gadCampaignId":{"type":"string"},"gad_campaignid":{"type":"string"},"gad_campaign_id":{"type":"string"},"gclid":{"type":"string"},"gbraid":{"type":"string"},"wbraid":{"type":"string"},"ttclid":{"type":"string"},"ttp":{"type":"string"},"fbclid":{"type":"string"},"fbp":{"type":"string"},"fbc":{"type":"string"},"metaEventId":{"type":"string"},"meta_event_id":{"type":"string"},"eventId":{"type":"string"},"event_id":{"type":"string"},"tiktokEventId":{"type":"string"},"tiktok_event_id":{"type":"string"},"userAgent":{"type":"string"},"user_agent":{"type":"string"},"screenWidth":{"type":"number"},"screen_width":{"type":"number"},"screenHeight":{"type":"number"},"screen_height":{"type":"number"},"attribution":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendInputDefinitionSchema0"}}}},"collectedData":{"type":"array","items":{"type":"object","properties":{"fieldKey":{"type":"string","minLength":1,"maxLength":120},"value":{"type":"string","maxLength":2048},"label":{"type":"string","maxLength":200},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"confidence":{"type":"number","minimum":0,"maximum":1},"optionMatch":{"type":"string","enum":["matched_option","unmatched_option"]},"rawValue":{"type":"string","maxLength":2048},"extractionSource":{"type":"string","enum":["visitor_explicit","pending_question_reply"]},"correctedFrom":{"type":"string","maxLength":2048}},"required":["fieldKey","value"],"additionalProperties":false}},"attachments":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendInputDefinitionSchema0"}}},"modelOverride":{"type":"string","minLength":1},"consent":{"maxItems":2,"type":"array","items":{"type":"object","properties":{"purpose":{"type":"string","enum":["marketing_email","email_tracking"]},"granted":{"type":"boolean"},"wordingVersion":{"type":"string","minLength":1,"maxLength":200}},"required":["purpose","granted","wordingVersion"],"additionalProperties":false},"description":"Structured lead consent answers for the purposes listed in the public chatbot config."},"clientMessageId":{"description":"Retry key scoped to this chatbot and visitorId (or the anonymous namespace when omitted). Reuse it for the same message across JSON/SSE retries, including retries without a threadId. Completed results replay for 30 days; pending sends return IDEMPOTENCY_IN_PROGRESS with retryAfterSeconds. Use a new id for each new message.","type":"string","minLength":1,"maxLength":200}},"required":["message"]},"OperationChatbotsEmbedMessagesSendInputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendInputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendInputDefinitionSchema0"}}]},"OperationChatbotsEmbedMessagesSendOutput":{"type":"object","properties":{"threadId":{"type":"string"},"conversationId":{"type":"string"},"success":{"type":"boolean"},"response":{"type":"string"},"assistantMessageId":{"type":"string"},"clientCreated":{"type":"boolean"},"clientId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"aiContext":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendOutputDefinitionSchema0"}}},"required":["threadId","success"],"additionalProperties":false},"OperationChatbotsEmbedMessagesSendOutputDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendOutputDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendOutputDefinitionSchema0"}}]},"OperationChatbotsEmbedMessagesSendError":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false}},"required":["success","error"],"additionalProperties":false},"OperationChatbotsEmbedMessagesSendErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorDefinitionSchema0"}}]},"OperationChatbotsEmbedMessagesSendErrorTransport":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransportDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransportDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransportDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransportDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false},"OperationChatbotsEmbedMessagesSendErrorTransportDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransportDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransportDefinitionSchema0"}}]},"OperationChatbotsEmbedMessageRatingsListInput":{"type":"object","properties":{"threadId":{"type":"string","minLength":1},"visitorId":{"type":"string","minLength":1}},"required":["threadId","visitorId"]},"OperationChatbotsEmbedMessageRatingsListOutput":{"type":"object","properties":{"ratings":{"type":"array","items":{"type":"object","properties":{"chatbotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"threadId":{"type":"string"},"messageId":{"type":"string"},"visitorId":{"type":"string"},"rating":{"nullable":true,"type":"string","enum":["up","down"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["chatbotId","threadId","messageId","visitorId","rating","createdAt","updatedAt"],"additionalProperties":false}},"trace":{"type":"object","properties":{"requestId":{"type":"string"},"traceId":{"type":"string"}},"required":["requestId","traceId"],"additionalProperties":false}},"required":["ratings","trace"],"additionalProperties":false},"OperationChatbotsEmbedMessageRatingsListError":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false}},"required":["success","error"],"additionalProperties":false},"OperationChatbotsEmbedMessageRatingsListErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorDefinitionSchema0"}}]},"OperationChatbotsEmbedMessageRatingsListErrorTransport":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorTransportDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorTransportDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorTransportDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorTransportDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false},"OperationChatbotsEmbedMessageRatingsListErrorTransportDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorTransportDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorTransportDefinitionSchema0"}}]},"OperationChatbotsEmbedMessageRatingsSetInput":{"type":"object","properties":{"threadId":{"type":"string","minLength":1},"messageId":{"type":"string","minLength":1},"visitorId":{"type":"string","minLength":1},"rating":{"nullable":true,"type":"string","enum":["up","down"]}},"required":["threadId","messageId","visitorId","rating"]},"OperationChatbotsEmbedMessageRatingsSetOutput":{"type":"object","properties":{"rating":{"type":"object","properties":{"chatbotId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"threadId":{"type":"string"},"messageId":{"type":"string"},"visitorId":{"type":"string"},"rating":{"nullable":true,"type":"string","enum":["up","down"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["chatbotId","threadId","messageId","visitorId","rating","createdAt","updatedAt"],"additionalProperties":false},"trace":{"type":"object","properties":{"requestId":{"type":"string"},"traceId":{"type":"string"}},"required":["requestId","traceId"],"additionalProperties":false}},"required":["rating","trace"],"additionalProperties":false},"OperationChatbotsEmbedMessageRatingsSetError":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false}},"required":["success","error"],"additionalProperties":false},"OperationChatbotsEmbedMessageRatingsSetErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorDefinitionSchema0"}}]},"OperationChatbotsEmbedMessageRatingsSetErrorTransport":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorTransportDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorTransportDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorTransportDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorTransportDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false},"OperationChatbotsEmbedMessageRatingsSetErrorTransportDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorTransportDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorTransportDefinitionSchema0"}}]},"OperationEventStreamData":{"type":"object","properties":{"id":{"type":"string","minLength":1},"cursor":{"type":"string","minLength":1},"requestId":{"type":"string","minLength":1},"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"operationId":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"invalidates":{"type":"array","items":{"type":"string"}},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"changes":{"type":"array","items":{"type":"object","properties":{"entity":{"type":"string","minLength":1},"id":{"type":"string","minLength":1},"clientId":{"nullable":true,"type":"string","minLength":1},"kind":{"type":"string","enum":["insert","update","delete"]},"version":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["entity","id","clientId","kind","version"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["id","cursor","accountId","operationId","type","invalidates","occurredAt"],"additionalProperties":false},"OperationEventStreamError":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"statusCode":{"type":"integer","minimum":400,"maximum":599},"reason":{"type":"string"},"context":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationEventStreamErrorDefinitionSchema0"}},"recoverability":{"type":"string","enum":["caller_action","retryable","operator_action","not_recoverable"]},"details":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationEventStreamErrorDefinitionSchema0"}},"recovery":{"type":"object","properties":{"operation":{"type":"string","minLength":1},"args":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationEventStreamErrorDefinitionSchema0"}},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation"],"additionalProperties":false},"request":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"traceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1}},"required":["requestId","traceId"],"additionalProperties":false},"diagnostics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationEventStreamErrorDefinitionSchema0"}}},"required":["code","message"],"additionalProperties":false}},"required":["success","error"],"additionalProperties":false},"OperationEventStreamErrorDefinitionSchema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]},{"type":"array","items":{"$ref":"#/components/schemas/OperationEventStreamErrorDefinitionSchema0"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/OperationEventStreamErrorDefinitionSchema0"}}]}},"parameters":{},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Account-bound integration token generated under /settings/integrations. Its scopes are exact operation ids."},"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://api.moreflow.io/oauth2/authorize","tokenUrl":"https://api.moreflow.io/oauth2/token","scopes":{"search:read":"Access to the search:read scope bundle.","clients:read":"Access to the clients:read scope bundle.","clients:write":"Access to the clients:write scope bundle.","commercial:read":"Access to the commercial:read scope bundle.","commercial:write":"Access to the commercial:write scope bundle.","communications:read":"Access to the communications:read scope bundle.","communications:write":"Access to the communications:write scope bundle.","team:read":"Access to the team:read scope bundle.","marketing:write":"Access to the marketing:write scope bundle.","marketing:read":"Access to the marketing:read scope bundle.","media:read":"Access to the media:read scope bundle.","media:write":"Access to the media:write scope bundle.","studio:read":"Access to the studio:read scope bundle.","studio:write":"Access to the studio:write scope bundle.","integrate:read":"Access to the integrate:read scope bundle.","integrate:write":"Access to the integrate:write scope bundle.","observe:read":"Access to the observe:read scope bundle.","forms:read":"Access to the forms:read scope bundle.","automations:read":"Access to the automations:read scope bundle.","automations:write":"Access to the automations:write scope bundle.","scheduling:read":"Access to the scheduling:read scope bundle.","scheduling:write":"Access to the scheduling:write scope bundle.","repositories:read":"Access to the repositories:read scope bundle.","repositories:manage":"Access to the repositories:manage scope bundle."}}},"description":"OAuth 2.0 authorization-code flow with PKCE for account-scoped access."},"betterAuthSession":{"type":"apiKey","in":"cookie","name":"better-auth.session_token","description":"Authenticated Better Auth browser session. Secure deployments may use the __Secure-prefixed form of this cookie."},"internalServicePrincipal":{"type":"http","scheme":"bearer","description":"Verified internal service-principal credential. This is distinct from an external integration bearer token."}}},"paths":{"/v1/operations/account.auditLog.list":{"post":{"tags":["Operations: accounts"],"operationId":"account.auditLog.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"account.auditLog.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List account audit log","description":"Returns sensitive account actions (team changes, client deletion, data exports, API tokens and connected agents, webhooks, integrations, billing, automations) with actor, time, target, and a secret-free change summary. Owners and admins only; entries are kept for 730 days.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccountAuditLogListInput"},"examples":{"latest entries":{"summary":"latest entries","value":{"limit":50}},"API token changes":{"summary":"API token changes","value":{"actions":["api_token_created","api_token_revoked"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccountAuditLogListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account owner or admin.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"account.auditLog.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccountAuditLogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account owner or admin.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"account.auditLog.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccountAuditLogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account owner or admin.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"account.auditLog.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccountAuditLogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account owner or admin.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"account.auditLog.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccountAuditLogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account owner or admin.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"account.auditLog.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccountAuditLogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account owner or admin.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"account.auditLog.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccountAuditLogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account owner or admin.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"account.auditLog.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccountAuditLogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account owner or admin.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"account.auditLog.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccountAuditLogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"account.auditLog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account owner or admin.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"account.auditLog.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAccountAuditLogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/activities.create":{"post":{"tags":["Operations: activities"],"operationId":"activities.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"activities.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"activities.create","description":"Stores one explicitly supplied activity in the authenticated account timeline. The caller supplies its type, event, references and occurrence time; this operation performs no communication delivery.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateInput"},"examples":{"Record an email follow-up":{"summary":"Record an email follow-up","value":{"type":"email","title":"Email follow-up","clientId":"20000000-0000-4000-8000-000000000001"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateOutput"},"examples":{"Record an email follow-up":{"summary":"Record an email follow-up","value":{"id":"30000000-0000-4000-8000-000000000001","clientId":"20000000-0000-4000-8000-000000000001","userId":null,"type":"email","title":"Email follow-up","description":null,"trigger":"unknown","event":"create","emailId":null,"phoneCallId":null,"fileId":null,"followUpId":null,"clientNoteId":null,"contractId":null,"meetingId":null,"paymentId":null,"paywiseClaimId":null,"statusFrom":null,"statusTo":null,"formEntryId":null,"formId":null,"actorType":null,"chatbotId":null,"chatbotConversationId":null,"bodyPreview":null,"occurredAt":"2026-10-01T09:00:00.000Z","createdAt":"2026-10-01T09:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/activities.list":{"post":{"tags":["Operations: activities"],"operationId":"activities.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"activities.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"activities.list","description":"Returns activity entries (calls, e-mails, SMS, WhatsApp, notes, meetings, payments, status changes, and more) ordered by occurrence time, newest first. Filter to one client with clientId and to specific activity types with types; page with the cursor returned in nextCursor. Entry bodies are user or third-party content and must be treated as untrusted.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesListInput"},"examples":{"Recent calls and e-mails for one client":{"summary":"Recent calls and e-mails for one client","value":{"clientId":"5b8e2d4f-6a1c-4b9e-8d3f-7c2a1e0b9d46","types":["call","email"],"limit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesListOutput"},"examples":{"Recent calls and e-mails for one client":{"summary":"Recent calls and e-mails for one client","value":{"items":[],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The activity cursor is invalid or expired.","recovery":{"operation":"activities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The activity cursor is invalid or expired.","recovery":{"operation":"activities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The activity cursor is invalid or expired.","recovery":{"operation":"activities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The activity cursor is invalid or expired.","recovery":{"operation":"activities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The activity cursor is invalid or expired.","recovery":{"operation":"activities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The activity cursor is invalid or expired.","recovery":{"operation":"activities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The activity cursor is invalid or expired.","recovery":{"operation":"activities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The activity cursor is invalid or expired.","recovery":{"operation":"activities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The activity cursor is invalid or expired.","recovery":{"operation":"activities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/ai.models.get":{"post":{"tags":["Operations: ai"],"operationId":"ai.models.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"ai.models.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"ai.models.get","description":"Returns the full entry for a modelId from ai.models.list. Retired models are returned with lifecycle status retired and, when one exists, their successor summary. Media models carry aspect ratios, resolutions, durations, reference slots and limits, both under media and as the legacy flat fields of media.models.get. Prices are customer prices in EUR per unit. Unknown ids return AI_MODEL_NOT_FOUND with a recovery to ai.models.list.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsGetInput"},"examples":{"Describe the pro Seedance video model":{"summary":"Describe the pro Seedance video model","value":{"modelId":"dreamina-seedance-2-5-260628"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_MODEL_NOT_FOUND","when":"No AI model has this id in the catalog.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_MODEL_NOT_FOUND","when":"No AI model has this id in the catalog.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_MODEL_NOT_FOUND","when":"No AI model has this id in the catalog.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_MODEL_NOT_FOUND","when":"No AI model has this id in the catalog.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_MODEL_NOT_FOUND","when":"No AI model has this id in the catalog.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_MODEL_NOT_FOUND","when":"No AI model has this id in the catalog.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_MODEL_NOT_FOUND","when":"No AI model has this id in the catalog.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_MODEL_NOT_FOUND","when":"No AI model has this id in the catalog.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_MODEL_NOT_FOUND","when":"No AI model has this id in the catalog.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/ai.models.list":{"post":{"tags":["Operations: ai"],"operationId":"ai.models.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"ai.models.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"ai.models.list","description":"Returns model summaries only. Filter by modality, provider, lifecycle (active, preview or retired; retired models are hidden by default) or role, which keeps only models the role may use. With a role, the result also names the model that role runs now (role.effectiveModelId) and whether a platform override or the code default chooses it. With a role, each item also carries fitWarnings: advisory reasons the model may suit the role poorly (always_reasons, slower, expensive), empty when it fits. Call ai.models.get with a modelId for capabilities and customer prices. Read-only.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsListInput"},"examples":{"List video models":{"summary":"List video models","value":{"modality":"video"}},"List models eligible for the studio video pro role":{"summary":"List models eligible for the studio video pro role","value":{"role":"studio.video.pro"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The role is not an AI model role, or kind and modality name different modalities.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The role is not an AI model role, or kind and modality name different modalities.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The role is not an AI model role, or kind and modality name different modalities.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The role is not an AI model role, or kind and modality name different modalities.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The role is not an AI model role, or kind and modality name different modalities.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The role is not an AI model role, or kind and modality name different modalities.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The role is not an AI model role, or kind and modality name different modalities.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The role is not an AI model role, or kind and modality name different modalities.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"ai.models.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The role is not an AI model role, or kind and modality name different modalities.","recovery":{"operation":"ai.models.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAiModelsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.experiments.complete":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.experiments.complete","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.experiments.complete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Complete an experiment","description":"Owners and administrators complete a running or stopped experiment with the shipped variant. A running experiment is stopped first. The result carries next: the repositories.changes.propose call that removes the losing variants behind useVariant; link its id with analytics.experiments.update cleanupChangeId.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteInput"},"examples":{"Ship variant b":{"summary":"Ship variant b","value":{"experimentId":"4c7d2e1f-8a9b-4c3d-9e2f-1a0b3c4d5e6f","winnerVariant":"b"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"winnerVariant is not a variant of the experiment.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"winnerVariant is not a variant of the experiment.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"winnerVariant is not a variant of the experiment.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"winnerVariant is not a variant of the experiment.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"winnerVariant is not a variant of the experiment.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"winnerVariant is not a variant of the experiment.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"winnerVariant is not a variant of the experiment.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"winnerVariant is not a variant of the experiment.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"winnerVariant is not a variant of the experiment.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"winnerVariant is not a variant of the experiment.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.experiments.create":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.experiments.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.experiments.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Create an experiment","description":"Owners and administrators define a draft experiment. Before it is stored, the sample size is checked against the site’s last 28 days: with the goal’s baseline conversion rate and minimumDetectableLift, a run longer than maxRunDays fails with ANALYTICS_EXPERIMENT_UNDERPOWERED (expected run time and suggestions in details) unless acknowledgeUnderpowered is true. Start it with analytics.experiments.start.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateInput"},"examples":{"Hero offer test":{"summary":"Hero offer test","value":{"siteId":"0f6c1a52-3d7e-4b8a-9c2f-5e1d4a7b8c90","key":"hero_offer","hypothesis":"Showing the fixed price in the hero raises booked calls.","variants":[{"key":"control","weight":50},{"key":"price","weight":50}],"goalId":"7a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d","minimumDetectableLift":0.3}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name an active goal of the site.","recovery":{"operation":"analytics.goals.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_KEY_TAKEN","when":"An experiment of the site already has this key.","recovery":{"operation":"analytics.experiments.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"The variants lack control, repeat a key or have no weight.","recovery":{"operation":"analytics.experiments.create","requiredFields":["variants"]}},{"code":"ANALYTICS_EXPERIMENT_UNDERPOWERED","when":"Recent traffic and the goal’s baseline rate make the run longer than maxRunDays; details carry the expected run time and suggestions.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"No event store to check the sample size, and acknowledgeUnderpowered is false.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.create","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name an active goal of the site.","recovery":{"operation":"analytics.goals.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_KEY_TAKEN","when":"An experiment of the site already has this key.","recovery":{"operation":"analytics.experiments.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"The variants lack control, repeat a key or have no weight.","recovery":{"operation":"analytics.experiments.create","requiredFields":["variants"]}},{"code":"ANALYTICS_EXPERIMENT_UNDERPOWERED","when":"Recent traffic and the goal’s baseline rate make the run longer than maxRunDays; details carry the expected run time and suggestions.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"No event store to check the sample size, and acknowledgeUnderpowered is false.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.create","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name an active goal of the site.","recovery":{"operation":"analytics.goals.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_KEY_TAKEN","when":"An experiment of the site already has this key.","recovery":{"operation":"analytics.experiments.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"The variants lack control, repeat a key or have no weight.","recovery":{"operation":"analytics.experiments.create","requiredFields":["variants"]}},{"code":"ANALYTICS_EXPERIMENT_UNDERPOWERED","when":"Recent traffic and the goal’s baseline rate make the run longer than maxRunDays; details carry the expected run time and suggestions.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"No event store to check the sample size, and acknowledgeUnderpowered is false.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.create","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name an active goal of the site.","recovery":{"operation":"analytics.goals.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_KEY_TAKEN","when":"An experiment of the site already has this key.","recovery":{"operation":"analytics.experiments.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"The variants lack control, repeat a key or have no weight.","recovery":{"operation":"analytics.experiments.create","requiredFields":["variants"]}},{"code":"ANALYTICS_EXPERIMENT_UNDERPOWERED","when":"Recent traffic and the goal’s baseline rate make the run longer than maxRunDays; details carry the expected run time and suggestions.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"No event store to check the sample size, and acknowledgeUnderpowered is false.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.create","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name an active goal of the site.","recovery":{"operation":"analytics.goals.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_KEY_TAKEN","when":"An experiment of the site already has this key.","recovery":{"operation":"analytics.experiments.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"The variants lack control, repeat a key or have no weight.","recovery":{"operation":"analytics.experiments.create","requiredFields":["variants"]}},{"code":"ANALYTICS_EXPERIMENT_UNDERPOWERED","when":"Recent traffic and the goal’s baseline rate make the run longer than maxRunDays; details carry the expected run time and suggestions.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"No event store to check the sample size, and acknowledgeUnderpowered is false.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.create","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name an active goal of the site.","recovery":{"operation":"analytics.goals.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_KEY_TAKEN","when":"An experiment of the site already has this key.","recovery":{"operation":"analytics.experiments.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"The variants lack control, repeat a key or have no weight.","recovery":{"operation":"analytics.experiments.create","requiredFields":["variants"]}},{"code":"ANALYTICS_EXPERIMENT_UNDERPOWERED","when":"Recent traffic and the goal’s baseline rate make the run longer than maxRunDays; details carry the expected run time and suggestions.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"No event store to check the sample size, and acknowledgeUnderpowered is false.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.create","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name an active goal of the site.","recovery":{"operation":"analytics.goals.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_KEY_TAKEN","when":"An experiment of the site already has this key.","recovery":{"operation":"analytics.experiments.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"The variants lack control, repeat a key or have no weight.","recovery":{"operation":"analytics.experiments.create","requiredFields":["variants"]}},{"code":"ANALYTICS_EXPERIMENT_UNDERPOWERED","when":"Recent traffic and the goal’s baseline rate make the run longer than maxRunDays; details carry the expected run time and suggestions.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"No event store to check the sample size, and acknowledgeUnderpowered is false.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.create","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name an active goal of the site.","recovery":{"operation":"analytics.goals.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_KEY_TAKEN","when":"An experiment of the site already has this key.","recovery":{"operation":"analytics.experiments.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"The variants lack control, repeat a key or have no weight.","recovery":{"operation":"analytics.experiments.create","requiredFields":["variants"]}},{"code":"ANALYTICS_EXPERIMENT_UNDERPOWERED","when":"Recent traffic and the goal’s baseline rate make the run longer than maxRunDays; details carry the expected run time and suggestions.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"No event store to check the sample size, and acknowledgeUnderpowered is false.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.create","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name an active goal of the site.","recovery":{"operation":"analytics.goals.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_KEY_TAKEN","when":"An experiment of the site already has this key.","recovery":{"operation":"analytics.experiments.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"The variants lack control, repeat a key or have no weight.","recovery":{"operation":"analytics.experiments.create","requiredFields":["variants"]}},{"code":"ANALYTICS_EXPERIMENT_UNDERPOWERED","when":"Recent traffic and the goal’s baseline rate make the run longer than maxRunDays; details carry the expected run time and suggestions.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"No event store to check the sample size, and acknowledgeUnderpowered is false.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.create","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name an active goal of the site.","recovery":{"operation":"analytics.goals.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_KEY_TAKEN","when":"An experiment of the site already has this key.","recovery":{"operation":"analytics.experiments.list","requiredFields":["siteId"]}},{"code":"ANALYTICS_EXPERIMENT_DEFINITION_INVALID","when":"The variants lack control, repeat a key or have no weight.","recovery":{"operation":"analytics.experiments.create","requiredFields":["variants"]}},{"code":"ANALYTICS_EXPERIMENT_UNDERPOWERED","when":"Recent traffic and the goal’s baseline rate make the run longer than maxRunDays; details carry the expected run time and suggestions.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"No event store to check the sample size, and acknowledgeUnderpowered is false.","recovery":{"operation":"analytics.experiments.create","requiredFields":["acknowledgeUnderpowered"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.create","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.experiments.get":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.experiments.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.experiments.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Get an experiment","description":"Returns the experiment definition, status, timestamps, winner and linked repository changes.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetInput"},"examples":{"One experiment":{"summary":"One experiment","value":{"experimentId":"4c7d2e1f-8a9b-4c3d-9e2f-1a0b3c4d5e6f"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.experiments.list":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.experiments.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.experiments.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List experiments","description":"Returns the experiments of the account, optionally of one site or one status. Read results with analytics.experiments.results.get.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListInput"},"examples":{"Running experiments of a site":{"summary":"Running experiments of a site","value":{"siteId":"0f6c1a52-3d7e-4b8a-9c2f-5e1d4a7b8c90","status":"running"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.experiments.results.get":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.experiments.results.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.experiments.results.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Get experiment results","description":"Counts visitors by their first exposure in the window (start to stop, or now) and conversions as goal events after it (server events through the consented contact link). Conversion goals use a beta-binomial model (Monte Carlo, seeded, so repeated calls agree); measureRevenue uses a normal approximation of revenue per visitor. ship_variant needs P(beat control) ≥ 0.95, expected loss < 0.1 % of control and the minimum sample; stop_no_effect needs twice the minimum sample and no variant above 0.8 (or a negligible loss). A sample ratio mismatch (p < 0.001) keeps the recommendation at keep_running. next names the operation to call.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetInput"},"examples":{"Results":{"summary":"Results","value":{"experimentId":"4c7d2e1f-8a9b-4c3d-9e2f-1a0b3c4d5e6f"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_NOT_STARTED","when":"The experiment is a draft.","recovery":{"operation":"analytics.experiments.start","requiredFields":["experimentId"]}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"The experiment’s goal no longer exists.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no event store.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.results.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_NOT_STARTED","when":"The experiment is a draft.","recovery":{"operation":"analytics.experiments.start","requiredFields":["experimentId"]}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"The experiment’s goal no longer exists.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no event store.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.results.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_NOT_STARTED","when":"The experiment is a draft.","recovery":{"operation":"analytics.experiments.start","requiredFields":["experimentId"]}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"The experiment’s goal no longer exists.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no event store.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.results.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_NOT_STARTED","when":"The experiment is a draft.","recovery":{"operation":"analytics.experiments.start","requiredFields":["experimentId"]}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"The experiment’s goal no longer exists.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no event store.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.results.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_NOT_STARTED","when":"The experiment is a draft.","recovery":{"operation":"analytics.experiments.start","requiredFields":["experimentId"]}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"The experiment’s goal no longer exists.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no event store.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.results.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_NOT_STARTED","when":"The experiment is a draft.","recovery":{"operation":"analytics.experiments.start","requiredFields":["experimentId"]}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"The experiment’s goal no longer exists.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no event store.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.results.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_NOT_STARTED","when":"The experiment is a draft.","recovery":{"operation":"analytics.experiments.start","requiredFields":["experimentId"]}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"The experiment’s goal no longer exists.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no event store.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.results.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_NOT_STARTED","when":"The experiment is a draft.","recovery":{"operation":"analytics.experiments.start","requiredFields":["experimentId"]}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"The experiment’s goal no longer exists.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no event store.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.results.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.results.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_NOT_STARTED","when":"The experiment is a draft.","recovery":{"operation":"analytics.experiments.start","requiredFields":["experimentId"]}},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"The experiment’s goal no longer exists.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no event store.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer.","recovery":{"operation":"analytics.experiments.results.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsResultsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.experiments.start":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.experiments.start","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.experiments.start","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Start an experiment","description":"Moves a draft to running and publishes the site’s running experiments: to the routing config of a hosted site (the routing worker assigns there), and to the tracker config served by the ingest for sites hosted elsewhere. Starting a running experiment republishes it and returns it unchanged. When publishing fails, the experiment stays a draft.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartInput"},"examples":{"Start":{"summary":"Start","value":{"experimentId":"4c7d2e1f-8a9b-4c3d-9e2f-1a0b3c4d5e6f"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.experiments.stop":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.experiments.stop","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.experiments.stop","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Stop an experiment","description":"Moves a running experiment to stopped (results count up to stoppedAt) and republishes the site’s remaining running experiments. Stopping a stopped experiment republishes and returns it, which repairs a failed publish. Record the outcome with analytics.experiments.complete.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopInput"},"examples":{"Stop":{"summary":"Stop","value":{"experimentId":"4c7d2e1f-8a9b-4c3d-9e2f-1a0b3c4d5e6f"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.stop"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"The experiment’s status does not allow this step.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}},{"code":"ANALYTICS_EXPERIMENT_PUBLISH_FAILED","when":"The routing config of the hosted site could not be written; retry, or change trafficPercent/hostedSiteId when it is not retryable.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsStopError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.experiments.update":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.experiments.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.experiments.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Update an experiment","description":"Owners and administrators change the hypothesis or minimum sample at any time, trafficPercent and hostedSiteId only while the experiment is a draft, and link variantChangeId or cleanupChangeId (repositories.changes.propose) to record the pull requests.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateInput"},"examples":{"Link the cleanup pull request":{"summary":"Link the cleanup pull request","value":{"experimentId":"4c7d2e1f-8a9b-4c3d-9e2f-1a0b3c4d5e6f","cleanupChangeId":"9b8a7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"trafficPercent or hostedSiteId changed after the experiment started.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"trafficPercent or hostedSiteId changed after the experiment started.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"trafficPercent or hostedSiteId changed after the experiment started.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"trafficPercent or hostedSiteId changed after the experiment started.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"trafficPercent or hostedSiteId changed after the experiment started.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"trafficPercent or hostedSiteId changed after the experiment started.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"trafficPercent or hostedSiteId changed after the experiment started.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"trafficPercent or hostedSiteId changed after the experiment started.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"trafficPercent or hostedSiteId changed after the experiment started.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.experiments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_EXPERIMENT_NOT_FOUND","when":"experimentId does not name an experiment of this account.","recovery":{"operation":"analytics.experiments.list","args":{}}},{"code":"ANALYTICS_EXPERIMENT_STATUS_CONFLICT","when":"trafficPercent or hostedSiteId changed after the experiment started.","recovery":{"operation":"analytics.experiments.get","requiredFields":["experimentId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsExperimentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.goals.archive":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.goals.archive","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.goals.archive","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Archive an analytics goal","description":"Owners and administrators archive a goal. Archiving an archived goal returns it unchanged. Its events stay in the event store.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveInput"},"examples":{"Archive a goal":{"summary":"Archive a goal","value":{"goalId":"7a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name a goal of this account.","recovery":{"operation":"analytics.goals.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name a goal of this account.","recovery":{"operation":"analytics.goals.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name a goal of this account.","recovery":{"operation":"analytics.goals.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name a goal of this account.","recovery":{"operation":"analytics.goals.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name a goal of this account.","recovery":{"operation":"analytics.goals.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name a goal of this account.","recovery":{"operation":"analytics.goals.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name a goal of this account.","recovery":{"operation":"analytics.goals.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name a goal of this account.","recovery":{"operation":"analytics.goals.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name a goal of this account.","recovery":{"operation":"analytics.goals.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_GOAL_NOT_FOUND","when":"goalId does not name a goal of this account.","recovery":{"operation":"analytics.goals.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.goals.create":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.goals.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.goals.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Define an analytics goal","description":"Owners and administrators define a goal as an event name, optionally narrowed by pathMatch (exact path or prefix). Reports and experiments count conversions by this definition, so agents and people use the same rule. Archive a goal with analytics.goals.archive; its key can then be reused.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateInput"},"examples":{"Contact form submitted":{"summary":"Contact form submitted","value":{"siteId":"0f6c1a52-3d7e-4b8a-9c2f-5e1d4a7b8c90","key":"lead","name":"Kontaktformular gesendet","definition":{"eventName":"form_submitted","pathMatch":{"kind":"prefix","value":"/kontakt"}}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_KEY_TAKEN","when":"An active goal of the site already has this key.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_GOAL_DEFINITION_INVALID","when":"key or eventName is not lower snake_case, or the path is not an absolute path without query or fragment.","recovery":{"operation":"analytics.goals.create","requiredFields":["definition"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_KEY_TAKEN","when":"An active goal of the site already has this key.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_GOAL_DEFINITION_INVALID","when":"key or eventName is not lower snake_case, or the path is not an absolute path without query or fragment.","recovery":{"operation":"analytics.goals.create","requiredFields":["definition"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_KEY_TAKEN","when":"An active goal of the site already has this key.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_GOAL_DEFINITION_INVALID","when":"key or eventName is not lower snake_case, or the path is not an absolute path without query or fragment.","recovery":{"operation":"analytics.goals.create","requiredFields":["definition"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_KEY_TAKEN","when":"An active goal of the site already has this key.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_GOAL_DEFINITION_INVALID","when":"key or eventName is not lower snake_case, or the path is not an absolute path without query or fragment.","recovery":{"operation":"analytics.goals.create","requiredFields":["definition"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_KEY_TAKEN","when":"An active goal of the site already has this key.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_GOAL_DEFINITION_INVALID","when":"key or eventName is not lower snake_case, or the path is not an absolute path without query or fragment.","recovery":{"operation":"analytics.goals.create","requiredFields":["definition"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_KEY_TAKEN","when":"An active goal of the site already has this key.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_GOAL_DEFINITION_INVALID","when":"key or eventName is not lower snake_case, or the path is not an absolute path without query or fragment.","recovery":{"operation":"analytics.goals.create","requiredFields":["definition"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_KEY_TAKEN","when":"An active goal of the site already has this key.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_GOAL_DEFINITION_INVALID","when":"key or eventName is not lower snake_case, or the path is not an absolute path without query or fragment.","recovery":{"operation":"analytics.goals.create","requiredFields":["definition"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_KEY_TAKEN","when":"An active goal of the site already has this key.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_GOAL_DEFINITION_INVALID","when":"key or eventName is not lower snake_case, or the path is not an absolute path without query or fragment.","recovery":{"operation":"analytics.goals.create","requiredFields":["definition"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_KEY_TAKEN","when":"An active goal of the site already has this key.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_GOAL_DEFINITION_INVALID","when":"key or eventName is not lower snake_case, or the path is not an absolute path without query or fragment.","recovery":{"operation":"analytics.goals.create","requiredFields":["definition"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_GOAL_KEY_TAKEN","when":"An active goal of the site already has this key.","recovery":{"operation":"analytics.goals.list","args":{}}},{"code":"ANALYTICS_GOAL_DEFINITION_INVALID","when":"key or eventName is not lower snake_case, or the path is not an absolute path without query or fragment.","recovery":{"operation":"analytics.goals.create","requiredFields":["definition"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.goals.list":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.goals.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.goals.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List analytics goals","description":"Returns the active goals of the site (archived ones with includeArchived), oldest first, each with its event name and optional path match.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListInput"},"examples":{"Goals of a site":{"summary":"Goals of a site","value":{"siteId":"0f6c1a52-3d7e-4b8a-9c2f-5e1d4a7b8c90"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.goals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsGoalsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.sites.create":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.sites.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.sites.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Create an analytics site","description":"Owners and administrators register a domain. The result carries siteKey, the public write key the served tracker sends with each event; it is not a secret and can be rotated with analytics.sites.rotateKey. Events are accepted only from pages on the domain or its subdomains. Fails with ANALYTICS_SITE_DOMAIN_INVALID or ANALYTICS_SITE_DOMAIN_TAKEN (recovery analytics.sites.list).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateInput"},"examples":{"Track mpu-west.nrw":{"summary":"Track mpu-west.nrw","value":{"domain":"mpu-west.nrw","displayName":"MPU West"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_DOMAIN_INVALID","when":"domain is not a public hostname with a top-level domain (an IP address, localhost or an empty value).","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}},{"code":"ANALYTICS_SITE_DOMAIN_TAKEN","when":"An active site of the account already tracks this domain.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_DOMAIN_INVALID","when":"domain is not a public hostname with a top-level domain (an IP address, localhost or an empty value).","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}},{"code":"ANALYTICS_SITE_DOMAIN_TAKEN","when":"An active site of the account already tracks this domain.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_DOMAIN_INVALID","when":"domain is not a public hostname with a top-level domain (an IP address, localhost or an empty value).","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}},{"code":"ANALYTICS_SITE_DOMAIN_TAKEN","when":"An active site of the account already tracks this domain.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_DOMAIN_INVALID","when":"domain is not a public hostname with a top-level domain (an IP address, localhost or an empty value).","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}},{"code":"ANALYTICS_SITE_DOMAIN_TAKEN","when":"An active site of the account already tracks this domain.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_DOMAIN_INVALID","when":"domain is not a public hostname with a top-level domain (an IP address, localhost or an empty value).","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}},{"code":"ANALYTICS_SITE_DOMAIN_TAKEN","when":"An active site of the account already tracks this domain.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_DOMAIN_INVALID","when":"domain is not a public hostname with a top-level domain (an IP address, localhost or an empty value).","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}},{"code":"ANALYTICS_SITE_DOMAIN_TAKEN","when":"An active site of the account already tracks this domain.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_DOMAIN_INVALID","when":"domain is not a public hostname with a top-level domain (an IP address, localhost or an empty value).","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}},{"code":"ANALYTICS_SITE_DOMAIN_TAKEN","when":"An active site of the account already tracks this domain.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_DOMAIN_INVALID","when":"domain is not a public hostname with a top-level domain (an IP address, localhost or an empty value).","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}},{"code":"ANALYTICS_SITE_DOMAIN_TAKEN","when":"An active site of the account already tracks this domain.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_DOMAIN_INVALID","when":"domain is not a public hostname with a top-level domain (an IP address, localhost or an empty value).","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}},{"code":"ANALYTICS_SITE_DOMAIN_TAKEN","when":"An active site of the account already tracks this domain.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_DOMAIN_INVALID","when":"domain is not a public hostname with a top-level domain (an IP address, localhost or an empty value).","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}},{"code":"ANALYTICS_SITE_DOMAIN_TAKEN","when":"An active site of the account already tracks this domain.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.sites.get":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.sites.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.sites.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Get an analytics site","description":"Returns the site and liveness: lastEventAt (null until the first event) and eventsLast24h. A site whose lastEventAt stays null after installing the tracker has a wrong key or a page outside the domain.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetInput"},"examples":{"Check the tracker":{"summary":"Check the tracker","value":{"siteId":"0f6c1a52-3d7e-4b8a-9c2f-5e1d4a7b8c90"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.sites.list":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.sites.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.sites.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List analytics sites","description":"Returns every active site of the account (archived ones with includeArchived), oldest first. Use analytics.sites.get for tracker liveness and analytics.traffic.overview.get for traffic.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesListInput"},"examples":{"List sites":{"summary":"List sites","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.sites.rotateKey":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.sites.rotateKey","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.sites.rotateKey","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Rotate an analytics site key","description":"Owners and administrators issue a new siteKey; events sent with the old key are rejected from then on (the ingest caches keys for at most a minute). Update the tracker snippet on the website with the returned key.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyInput"},"examples":{"Rotate the key":{"summary":"Rotate the key","value":{"siteId":"0f6c1a52-3d7e-4b8a-9c2f-5e1d4a7b8c90"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_SITE_ARCHIVED","when":"The site is archived and accepts no events.","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_SITE_ARCHIVED","when":"The site is archived and accepts no events.","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_SITE_ARCHIVED","when":"The site is archived and accepts no events.","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_SITE_ARCHIVED","when":"The site is archived and accepts no events.","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_SITE_ARCHIVED","when":"The site is archived and accepts no events.","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_SITE_ARCHIVED","when":"The site is archived and accepts no events.","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_SITE_ARCHIVED","when":"The site is archived and accepts no events.","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_SITE_ARCHIVED","when":"The site is archived and accepts no events.","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_SITE_ARCHIVED","when":"The site is archived and accepts no events.","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.sites.rotateKey"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_SITE_ARCHIVED","when":"The site is archived and accepts no events.","recovery":{"operation":"analytics.sites.create","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsSitesRotateKeyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.traffic.overview.get":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.traffic.overview.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.traffic.overview.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Get website traffic","description":"Resolves the range like analytics.acquisition.summary.get (preset or startDate/endDate in the account time zone) and returns totals, a per-day series and top lists from the raw events. Filters (path, referrerHost, utmSource, utmCampaign; 'none' selects events without the value) narrow every figure. Numbers are unformatted counts. visitors counts distinct visitor ids; without consent these rotate daily, so for multi-day ranges a returning anonymous visitor counts once per day.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetInput"},"examples":{"Last 30 days":{"summary":"Last 30 days","value":{"siteId":"0f6c1a52-3d7e-4b8a-9c2f-5e1d4a7b8c90","preset":"last_30_days"}},"Google Ads visitors in October":{"summary":"Google Ads visitors in October","value":{"siteId":"0f6c1a52-3d7e-4b8a-9c2f-5e1d4a7b8c90","startDate":"2026-10-01","endDate":"2026-10-31","utmSource":"google"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.traffic.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsTrafficOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/analytics.usage.get":{"post":{"tags":["Operations: analytics"],"operationId":"analytics.usage.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"analytics.usage.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Get website analytics usage","description":"Counts the stored events of the account per site and UTC month and attributes ClickHouse bytes on disk to them (the month partition size times their share of its rows). This is the input for cost attribution. Rows cover only months with events.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetInput"},"examples":{"Usage this year":{"summary":"Usage this year","value":{"fromMonth":"2026-01","toMonth":"2026-12"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_USAGE_RANGE_INVALID","when":"toMonth is before fromMonth or more than 24 months after it.","recovery":{"operation":"analytics.usage.get","requiredFields":["fromMonth","toMonth"]}},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_USAGE_RANGE_INVALID","when":"toMonth is before fromMonth or more than 24 months after it.","recovery":{"operation":"analytics.usage.get","requiredFields":["fromMonth","toMonth"]}},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_USAGE_RANGE_INVALID","when":"toMonth is before fromMonth or more than 24 months after it.","recovery":{"operation":"analytics.usage.get","requiredFields":["fromMonth","toMonth"]}},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_USAGE_RANGE_INVALID","when":"toMonth is before fromMonth or more than 24 months after it.","recovery":{"operation":"analytics.usage.get","requiredFields":["fromMonth","toMonth"]}},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_USAGE_RANGE_INVALID","when":"toMonth is before fromMonth or more than 24 months after it.","recovery":{"operation":"analytics.usage.get","requiredFields":["fromMonth","toMonth"]}},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_USAGE_RANGE_INVALID","when":"toMonth is before fromMonth or more than 24 months after it.","recovery":{"operation":"analytics.usage.get","requiredFields":["fromMonth","toMonth"]}},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_USAGE_RANGE_INVALID","when":"toMonth is before fromMonth or more than 24 months after it.","recovery":{"operation":"analytics.usage.get","requiredFields":["fromMonth","toMonth"]}},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_USAGE_RANGE_INVALID","when":"toMonth is before fromMonth or more than 24 months after it.","recovery":{"operation":"analytics.usage.get","requiredFields":["fromMonth","toMonth"]}},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"analytics.usage.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"ANALYTICS_USAGE_RANGE_INVALID","when":"toMonth is before fromMonth or more than 24 months after it.","recovery":{"operation":"analytics.usage.get","requiredFields":["fromMonth","toMonth"]}},{"code":"ANALYTICS_SITE_NOT_FOUND","when":"siteId does not name a site of this account.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_NOT_CONFIGURED","when":"This deployment has no ClickHouse event store configured.","recovery":{"operation":"analytics.sites.list","args":{}}},{"code":"ANALYTICS_EVENT_STORE_UNAVAILABLE","when":"The event store did not answer; retry shortly.","recovery":{"operation":"analytics.sites.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAnalyticsUsageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/api.tokens.agent.create":{"post":{"tags":["Operations: tokens"],"operationId":"api.tokens.agent.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"api.tokens.agent.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"always","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"api.tokens.agent.create","description":"Callable only by an integration credential holding the admin:tokens bundle. Requested bundles expand to exact operation ids; every id must already be held by the caller, so a minted token is never wider than its issuer. The origin credential is recorded on the token.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateInput"},"examples":{"minimal request":{"summary":"minimal request","value":{"label":"Nightly sync agent","scopes":["clients.list"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or requests a scope it does not hold.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The requested scopes are not grantable or the resulting token has no usable scope.","recovery":{"operation":"api.tokens.agent.create","args":{},"requiredFields":["label","scopes"]}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'agent_token_limit_reached': the account already holds the maximum number of active API tokens (a security limit equal for every plan); the failure's recovery names api.tokens.agent.revoke with the tokenId of a token no integration uses any more.","recovery":{"operation":"api.tokens.agent.revoke","args":{},"requiredFields":["tokenId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or requests a scope it does not hold.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The requested scopes are not grantable or the resulting token has no usable scope.","recovery":{"operation":"api.tokens.agent.create","args":{},"requiredFields":["label","scopes"]}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'agent_token_limit_reached': the account already holds the maximum number of active API tokens (a security limit equal for every plan); the failure's recovery names api.tokens.agent.revoke with the tokenId of a token no integration uses any more.","recovery":{"operation":"api.tokens.agent.revoke","args":{},"requiredFields":["tokenId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or requests a scope it does not hold.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The requested scopes are not grantable or the resulting token has no usable scope.","recovery":{"operation":"api.tokens.agent.create","args":{},"requiredFields":["label","scopes"]}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'agent_token_limit_reached': the account already holds the maximum number of active API tokens (a security limit equal for every plan); the failure's recovery names api.tokens.agent.revoke with the tokenId of a token no integration uses any more.","recovery":{"operation":"api.tokens.agent.revoke","args":{},"requiredFields":["tokenId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or requests a scope it does not hold.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The requested scopes are not grantable or the resulting token has no usable scope.","recovery":{"operation":"api.tokens.agent.create","args":{},"requiredFields":["label","scopes"]}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'agent_token_limit_reached': the account already holds the maximum number of active API tokens (a security limit equal for every plan); the failure's recovery names api.tokens.agent.revoke with the tokenId of a token no integration uses any more.","recovery":{"operation":"api.tokens.agent.revoke","args":{},"requiredFields":["tokenId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or requests a scope it does not hold.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The requested scopes are not grantable or the resulting token has no usable scope.","recovery":{"operation":"api.tokens.agent.create","args":{},"requiredFields":["label","scopes"]}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'agent_token_limit_reached': the account already holds the maximum number of active API tokens (a security limit equal for every plan); the failure's recovery names api.tokens.agent.revoke with the tokenId of a token no integration uses any more.","recovery":{"operation":"api.tokens.agent.revoke","args":{},"requiredFields":["tokenId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or requests a scope it does not hold.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The requested scopes are not grantable or the resulting token has no usable scope.","recovery":{"operation":"api.tokens.agent.create","args":{},"requiredFields":["label","scopes"]}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'agent_token_limit_reached': the account already holds the maximum number of active API tokens (a security limit equal for every plan); the failure's recovery names api.tokens.agent.revoke with the tokenId of a token no integration uses any more.","recovery":{"operation":"api.tokens.agent.revoke","args":{},"requiredFields":["tokenId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or requests a scope it does not hold.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The requested scopes are not grantable or the resulting token has no usable scope.","recovery":{"operation":"api.tokens.agent.create","args":{},"requiredFields":["label","scopes"]}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'agent_token_limit_reached': the account already holds the maximum number of active API tokens (a security limit equal for every plan); the failure's recovery names api.tokens.agent.revoke with the tokenId of a token no integration uses any more.","recovery":{"operation":"api.tokens.agent.revoke","args":{},"requiredFields":["tokenId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or requests a scope it does not hold.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The requested scopes are not grantable or the resulting token has no usable scope.","recovery":{"operation":"api.tokens.agent.create","args":{},"requiredFields":["label","scopes"]}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'agent_token_limit_reached': the account already holds the maximum number of active API tokens (a security limit equal for every plan); the failure's recovery names api.tokens.agent.revoke with the tokenId of a token no integration uses any more.","recovery":{"operation":"api.tokens.agent.revoke","args":{},"requiredFields":["tokenId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or requests a scope it does not hold.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The requested scopes are not grantable or the resulting token has no usable scope.","recovery":{"operation":"api.tokens.agent.create","args":{},"requiredFields":["label","scopes"]}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'agent_token_limit_reached': the account already holds the maximum number of active API tokens (a security limit equal for every plan); the failure's recovery names api.tokens.agent.revoke with the tokenId of a token no integration uses any more.","recovery":{"operation":"api.tokens.agent.revoke","args":{},"requiredFields":["tokenId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or requests a scope it does not hold.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The requested scopes are not grantable or the resulting token has no usable scope.","recovery":{"operation":"api.tokens.agent.create","args":{},"requiredFields":["label","scopes"]}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'agent_token_limit_reached': the account already holds the maximum number of active API tokens (a security limit equal for every plan); the failure's recovery names api.tokens.agent.revoke with the tokenId of a token no integration uses any more.","recovery":{"operation":"api.tokens.agent.revoke","args":{},"requiredFields":["tokenId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/api.tokens.agent.list":{"post":{"tags":["Operations: tokens"],"operationId":"api.tokens.agent.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"api.tokens.agent.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"api.tokens.agent.list","description":"Callable only by an integration credential holding the admin:tokens bundle. Returns every token of the account, including revoked ones, with the credential that minted each; secrets are never returned.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentListInput"},"examples":{"minimal request":{"summary":"minimal request","value":{"limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The list cursor is malformed or expired.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The list cursor is malformed or expired.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The list cursor is malformed or expired.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The list cursor is malformed or expired.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The list cursor is malformed or expired.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The list cursor is malformed or expired.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The list cursor is malformed or expired.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The list cursor is malformed or expired.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The list cursor is malformed or expired.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/api.tokens.agent.revoke":{"post":{"tags":["Operations: tokens"],"operationId":"api.tokens.agent.revoke","x-moreflow-stability":"stable","x-moreflow-operation-id":"api.tokens.agent.revoke","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"always","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"api.tokens.agent.revoke","description":"Callable only by an integration credential holding the admin:tokens bundle. Any token of the account can be revoked except the credential that is making the call. Revocation is idempotent.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeInput"},"examples":{"minimal request":{"summary":"minimal request","value":{"tokenId":"11111111-1111-4111-8111-111111111111"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to revoke the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to revoke the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to revoke the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to revoke the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to revoke the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to revoke the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to revoke the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to revoke the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to revoke the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.revoke"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The calling integration credential does not hold the admin:tokens bundle.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to revoke the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRevokeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/api.tokens.agent.rotate":{"post":{"tags":["Operations: tokens"],"operationId":"api.tokens.agent.rotate","x-moreflow-stability":"stable","x-moreflow-operation-id":"api.tokens.agent.rotate","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"always","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"api.tokens.agent.rotate","description":"Callable only by an integration credential holding the admin:tokens bundle. The replacement keeps the predecessor’s scopes, which must all be held by the caller; a credential cannot rotate itself. The replacement records the rotating credential as its origin and expires 90 days after rotation, regardless of the predecessor’s expiry (including no expiry).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateInput"},"examples":{"minimal request":{"summary":"minimal request","value":{"tokenId":"11111111-1111-4111-8111-111111111111","overlapSeconds":0}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or does not hold every target scope.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to rotate the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"CONFLICT","when":"The target token was revoked or changed before rotation completed.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or does not hold every target scope.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to rotate the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"CONFLICT","when":"The target token was revoked or changed before rotation completed.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or does not hold every target scope.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to rotate the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"CONFLICT","when":"The target token was revoked or changed before rotation completed.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or does not hold every target scope.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to rotate the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"CONFLICT","when":"The target token was revoked or changed before rotation completed.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or does not hold every target scope.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to rotate the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"CONFLICT","when":"The target token was revoked or changed before rotation completed.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or does not hold every target scope.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to rotate the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"CONFLICT","when":"The target token was revoked or changed before rotation completed.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or does not hold every target scope.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to rotate the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"CONFLICT","when":"The target token was revoked or changed before rotation completed.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or does not hold every target scope.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to rotate the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"CONFLICT","when":"The target token was revoked or changed before rotation completed.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or does not hold every target scope.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to rotate the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"CONFLICT","when":"The target token was revoked or changed before rotation completed.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"api.tokens.agent.rotate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The request has no authenticated account context.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the admin:tokens bundle or does not hold every target scope.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target API token is not in the caller account.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"INVALID_STATE","when":"The caller attempted to rotate the credential currently authenticating the request.","recovery":{"operation":"api.tokens.agent.list","args":{}}},{"code":"CONFLICT","when":"The target token was revoked or changed before rotation completed.","recovery":{"operation":"api.tokens.agent.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationApiTokensAgentRotateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/automations.failedRuns.list":{"post":{"tags":["Operations: automations"],"operationId":"automations.failedRuns.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"automations.failedRuns.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"automations.failedRuns.list","description":"Returns a page of broken automation steps of the account, newest failure first. Failed and dead-lettered runs of the same automation with the same error code at the same failed step are one item, so a step that keeps failing is listed once. A failed run that was retried or replayed is resolved by that attempt and is not listed; when the attempt fails too, it is the newest failure of its step. Each item describes the newest failed run of its step: runId, automationId, automationName (empty when the automation record is missing), status (failed or dead_lettered), failedAt, failedStep.nodeId, and a readable error with code, category, recoverability, retryable, message, and an optional recovery operation. occurrenceCount counts the open failed runs of the step and firstFailedAt is when the oldest of them failed. A step whose failures are all acknowledged (automations.failedRuns.acknowledgement.update) is hidden unless includeAcknowledged is true; then acknowledgedAt and acknowledgedByUserId say who closed it and when, and both are null on open steps. A new failure of an acknowledged step lists it again. Filter by automationId, and pass failedSince (ISO date-time, for example 30 days ago) to list only steps whose newest open failure is at or after it, so long-abandoned failures stay out of a work queue. limit sets the page size (default 25, max 100). nextCursor is null on the last page; otherwise pass it back as cursor to fetch the next page. unreadableRunCount counts steps on the page whose newest failed run could not be read; they are counted, not listed. canManage tells whether the caller may retry a run with automations.runs.retry or acknowledge it with automations.failedRuns.acknowledgement.update. The account comes from the credential. Requires account membership. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListInput"},"examples":{"Recent failures across the account":{"summary":"Recent failures across the account","value":{"limit":25}},"Open failures of the last 30 days":{"summary":"Open failures of the last 30 days","value":{"failedSince":"2026-10-03T00:00:00.000Z","limit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.failedRuns.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsFailedRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/automations.get":{"post":{"tags":["Operations: automations"],"operationId":"automations.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"automations.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"automations.get","description":"Returns the automation record for automationId: id, name, description, folderId, triggerEvent, status (draft, active, paused, archived), statusReason for a paused automation, and createdAt, updatedAt, archivedAt timestamps. It does not include the graph or run history: fetch the graph with automations.drafts.get or automations.editor.get, and runs with automations.runs.list. Requires account membership. Fails with NOT_FOUND when the automation is not in the account; recover with automations.list to find valid ids. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsGetInput"},"examples":{"Read one automation":{"summary":"Read one automation","value":{"automationId":"4e8a1c2b-7d3f-4b5e-9a6c-8f0d1e2b3c4a"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/automations.list":{"post":{"tags":["Operations: automations"],"operationId":"automations.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"automations.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"automations.list","description":"Returns one page of automation records for the account, newest created first, as { items, nextCursor }. Filter by folderId, status (draft, active, paused, archived), or triggerEvent; omit filters to list all. limit sets the page size (default 100, max 200). nextCursor is null on the last page; otherwise pass it back as cursor to fetch the next page. Each item has id, name, folderId, triggerEvent, status, statusReason, and timestamps, plus canManage, which says whether the caller may change the status with automations.status.update. Graphs are not included: use automations.get for one record or automations.editor.get for its graph. The account comes from the credential; a caller outside the account gets FORBIDDEN. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsListInput"},"examples":{"Active automations on tag_added":{"summary":"Active automations on tag_added","value":{"status":"active","triggerEvent":"tag_added","limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/automations.runs.get":{"post":{"tags":["Operations: automations"],"operationId":"automations.runs.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"automations.runs.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"automations.runs.get","description":"Returns one run (runId) with its trigger payload, variables, error, recent logs, waits, action executions, dead letters, and external operations. Each collection is capped by collectionLimit (default 50, max 100); collections gives count and truncated per collection (true when more entries exist than returned), and partial is true when the detail is incomplete. affectedClient links to the client the run touched, when there is one. capabilities holds canCancel, canRetry, and canReplay, computed server-side for the caller; all three are false for members who are not owners or admins, so check them before calling automations.runs.cancel or automations.runs.retry. Fails with NOT_FOUND when the run is not in the account. Requires account membership. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsGetInput"},"examples":{"Open a run with the 25 most recent entries per collection":{"summary":"Open a run with the 25 most recent entries per collection","value":{"runId":"9a4d2f6b-1c8e-4b3a-a7d5-6e0f2c9b4d18","collectionLimit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/automations.runs.list":{"post":{"tags":["Operations: automations"],"operationId":"automations.runs.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"automations.runs.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"automations.runs.list","description":"Returns a keyset-paginated page of automation runs of the account, newest first by default (order asc or desc), as { items, nextCursor, degraded }. Each item is a run record (status, mode, attemptNumber, timestamps, error, triggerPayload, variables) without its logs, waits, or action executions; fetch those with automations.runs.get. Each item also carries subject, the client the run is about (clientId and displayName when the caller may see it, else a restricted, missing, or unavailable status; null when the trigger names no client), and stoppedStep, the step a failed or waiting run stopped at (reason, nodeId, step type, and name; null otherwise). Filter by automationId, status (queued, running, waiting, succeeded, failed, cancelled, dead_lettered, skipped), and mode (live or simulation, the editor test runs). limit sets the page size (default 50, max 200). nextCursor is null on the last page; otherwise pass it back as cursor. degraded lists runs whose stored record is unreadable, as code and runId only. The account comes from the credential. Requires account membership. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsListInput"},"examples":{"Show the latest failed runs of one automation":{"summary":"Show the latest failed runs of one automation","value":{"automationId":"e2b7c9d4-5a1f-4e8b-9c3d-7f6a2b1e0d59","status":"failed","limit":20}},"Show the test runs of one automation":{"summary":"Show the test runs of one automation","value":{"automationId":"e2b7c9d4-5a1f-4e8b-9c3d-7f6a2b1e0d59","mode":"simulation"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/automations.runs.stats.get":{"post":{"tags":["Operations: automations"],"operationId":"automations.runs.stats.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"automations.runs.stats.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"automations.runs.stats.get","description":"Returns how many live runs of the automation identified by automationId were created in the last `days` days (default 30, max 90) and how many of them succeeded and failed (failed or dead_lettered), as { id, automationId, days, since, total, succeeded, failed }. Test (simulation) runs are not counted, and runs still queued, running or waiting count only in total. List the runs themselves with automations.runs.list. Fails with NOT_FOUND when the automation is not in the account; recover with automations.list. The account comes from the credential. Requires account membership. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetInput"},"examples":{"How did this automation run in the last 30 days?":{"summary":"How did this automation run in the last 30 days?","value":{"automationId":"e2b7c9d4-5a1f-4e8b-9c3d-7f6a2b1e0d59"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.runs.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsRunsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/automations.status.update":{"post":{"tags":["Operations: automations"],"operationId":"automations.status.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"automations.status.update","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"automations.status.update","description":"Sets one automation to a target status and returns the updated automation record. status paused pauses it (no new runs; the graph is kept); paused to active resumes it; status archived archives it, which hides it and cannot be undone, so confirm with the user first. Allowed transitions: draft to active, paused, or archived; active to paused or archived; paused to active or archived; archived is final. Setting the status the automation already has succeeds without a state change. Over the public API and MCP the call needs an Idempotency-Key header (over MCP, the MCP write tool idempotencyKey argument); a retry with the same key and body replays the stored result. Other transitions fail with INVALID_STATE_TRANSITION; read the current status with automations.get and pick an allowed target. The account comes from the credential. Requires an account owner or admin (see canManage on automations.list); other members get FORBIDDEN before any change.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateInput"},"examples":{"Pause a running automation":{"summary":"Pause a running automation","value":{"automationId":"4e8a1c2b-7d3f-4b5e-9a6c-8f0d1e2b3c4a","status":"paused"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE_TRANSITION","when":"The requested status is not an allowed transition from the current status; archived is final.","recovery":{"operation":"automations.get","requiredFields":["automationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE_TRANSITION","when":"The requested status is not an allowed transition from the current status; archived is final.","recovery":{"operation":"automations.get","requiredFields":["automationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE_TRANSITION","when":"The requested status is not an allowed transition from the current status; archived is final.","recovery":{"operation":"automations.get","requiredFields":["automationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE_TRANSITION","when":"The requested status is not an allowed transition from the current status; archived is final.","recovery":{"operation":"automations.get","requiredFields":["automationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE_TRANSITION","when":"The requested status is not an allowed transition from the current status; archived is final.","recovery":{"operation":"automations.get","requiredFields":["automationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE_TRANSITION","when":"The requested status is not an allowed transition from the current status; archived is final.","recovery":{"operation":"automations.get","requiredFields":["automationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE_TRANSITION","when":"The requested status is not an allowed transition from the current status; archived is final.","recovery":{"operation":"automations.get","requiredFields":["automationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE_TRANSITION","when":"The requested status is not an allowed transition from the current status; archived is final.","recovery":{"operation":"automations.get","requiredFields":["automationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE_TRANSITION","when":"The requested status is not an allowed transition from the current status; archived is final.","recovery":{"operation":"automations.get","requiredFields":["automationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"automations.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE_TRANSITION","when":"The requested status is not an allowed transition from the current status; archived is final.","recovery":{"operation":"automations.get","requiredFields":["automationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationAutomationsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/billing.entitlements.get":{"post":{"tags":["Operations: billing"],"operationId":"billing.entitlements.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"billing.entitlements.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"billing.entitlements.get","description":"Returns capability, metered-usage and taste-model dose decisions. Denials use the same reasons the enforcing mutations return as UPGRADE_REQUIRED, so a UI and an agent never disagree with the write path.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetInput"},"examples":{"Can this account start a power dialer session and send another SMS?":{"summary":"Can this account start a power dialer session and send another SMS?","value":{"capabilities":["powerDialer"],"usage":["sms"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"billing.entitlements.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationBillingEntitlementsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/calendars.list":{"post":{"tags":["Operations: calendars"],"operationId":"calendars.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"calendars.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"calendars.list","description":"Returns the calendars configured for scheduling in the account with their owner, provider connection, and booking settings. Optional ownerUserId narrows the list to calendars owned by one user. The capabilities field reports whether the caller may create or change calendars.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCalendarsListInput"},"examples":{"Show the calendars a sales rep can book into":{"summary":"Show the calendars a sales rep can book into","value":{"ownerUserId":"a1d2c3b4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCalendarsListOutput"},"examples":{"Show the calendars a sales rep can book into":{"summary":"Show the calendars a sales rep can book into","value":{"items":[],"nextCursor":null,"capabilities":{"canManage":false}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The calendar cursor is invalid.","recovery":{"operation":"calendars.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCalendarsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The calendar cursor is invalid.","recovery":{"operation":"calendars.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCalendarsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The calendar cursor is invalid.","recovery":{"operation":"calendars.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCalendarsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The calendar cursor is invalid.","recovery":{"operation":"calendars.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCalendarsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The calendar cursor is invalid.","recovery":{"operation":"calendars.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCalendarsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The calendar cursor is invalid.","recovery":{"operation":"calendars.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCalendarsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The calendar cursor is invalid.","recovery":{"operation":"calendars.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCalendarsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The calendar cursor is invalid.","recovery":{"operation":"calendars.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCalendarsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"calendars.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The calendar cursor is invalid.","recovery":{"operation":"calendars.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCalendarsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.archive":{"post":{"tags":["Operations: clients"],"operationId":"clients.archive","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.archive","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"clients.archive","description":"Moves one client to the trash after verifying expectedVersion matches the stored record, writes an archive activity, and dispatches client-deleted effect triggers. Archived clients move to the trash and are permanently deleted after 30 days (the returned client carries permanentDeletionAt). Until then the client no longer appears in lists or searches unless includeDeleted is set, is listed by clients.list with lifecycle 'trash', and can be restored with clients.index.restoreMany. Always requires confirmation; retrying with the same version after a successful archive is treated as idempotent.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveInput"},"examples":{"Archive a duplicate client record":{"summary":"Archive a duplicate client record","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","expectedVersion":4}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.contactPoints.create":{"post":{"tags":["Operations: clients"],"operationId":"clients.contactPoints.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.contactPoints.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.contactPoints.create","description":"Adds one address of the given kind. The first address of a kind becomes primary; makePrimary: true promotes the new one and keeps the previous primary as a secondary address. `email` / `phoneNumber` on the client always equal the primaries. An email may belong to only one active client: an email saved on another active client fails with CONTACT_POINT_EMAIL_IN_USE naming that client (recovery: clients.get). A phone number may be shared; the result then carries a CONTACT_POINT_PHONE_SHARED warning listing the other clients. Other failures: CONTACT_POINT_ALREADY_ON_CLIENT (the client already has it; use its contactPointId), CONTACT_POINT_INVALID_VALUE, CONTACT_POINT_LIMIT_REACHED, CONFLICT when expectedVersion is stale. Returns the updated client and the saved contactPoint.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateInput"},"examples":{"Save a billing email as a secondary address":{"summary":"Save a billing email as a secondary address","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","kind":"email","value":"buchhaltung@nordlicht-consulting.de","label":"billing"}},"Save a mobile number and make it the primary phone":{"summary":"Save a mobile number and make it the primary phone","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","kind":"phone","value":"+491701234567","label":"mobile","makePrimary":true}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_LIMIT_REACHED","when":"The per-kind address limit would be exceeded.","recovery":{"operation":"clients.contactPoints.delete","requiredFields":["clientId","contactPointId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_LIMIT_REACHED","when":"The per-kind address limit would be exceeded.","recovery":{"operation":"clients.contactPoints.delete","requiredFields":["clientId","contactPointId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_LIMIT_REACHED","when":"The per-kind address limit would be exceeded.","recovery":{"operation":"clients.contactPoints.delete","requiredFields":["clientId","contactPointId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_LIMIT_REACHED","when":"The per-kind address limit would be exceeded.","recovery":{"operation":"clients.contactPoints.delete","requiredFields":["clientId","contactPointId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_LIMIT_REACHED","when":"The per-kind address limit would be exceeded.","recovery":{"operation":"clients.contactPoints.delete","requiredFields":["clientId","contactPointId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_LIMIT_REACHED","when":"The per-kind address limit would be exceeded.","recovery":{"operation":"clients.contactPoints.delete","requiredFields":["clientId","contactPointId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_LIMIT_REACHED","when":"The per-kind address limit would be exceeded.","recovery":{"operation":"clients.contactPoints.delete","requiredFields":["clientId","contactPointId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_LIMIT_REACHED","when":"The per-kind address limit would be exceeded.","recovery":{"operation":"clients.contactPoints.delete","requiredFields":["clientId","contactPointId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_LIMIT_REACHED","when":"The per-kind address limit would be exceeded.","recovery":{"operation":"clients.contactPoints.delete","requiredFields":["clientId","contactPointId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_LIMIT_REACHED","when":"The per-kind address limit would be exceeded.","recovery":{"operation":"clients.contactPoints.delete","requiredFields":["clientId","contactPointId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.contactPoints.delete":{"post":{"tags":["Operations: clients"],"operationId":"clients.contactPoints.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.contactPoints.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.contactPoints.delete","description":"Deletes the address identified by contactPointId. Removing a secondary address leaves the primary unchanged. Removing the primary promotes newPrimaryContactPointId when given (it must be another address of the same kind, else CONTACT_POINT_INVALID_NEW_PRIMARY); without it the remaining address of that kind with the lowest position, i.e. the one saved earliest, becomes primary. Removing the last address of a kind clears `email` / `phoneNumber`. Re-add an address with clients.contactPoints.create. Fails with CONTACT_POINT_NOT_FOUND (recovery: clients.get) or CONFLICT when expectedVersion is stale.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteInput"},"examples":{"Remove an outdated phone number":{"summary":"Remove an outdated phone number","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","contactPointId":"5c2e8a17-4b3d-4e9f-8a6c-1d7b9e0f2a43"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_NEW_PRIMARY","when":"The replacement primary is not another saved address of the same kind.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_NEW_PRIMARY","when":"The replacement primary is not another saved address of the same kind.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_NEW_PRIMARY","when":"The replacement primary is not another saved address of the same kind.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_NEW_PRIMARY","when":"The replacement primary is not another saved address of the same kind.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_NEW_PRIMARY","when":"The replacement primary is not another saved address of the same kind.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_NEW_PRIMARY","when":"The replacement primary is not another saved address of the same kind.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_NEW_PRIMARY","when":"The replacement primary is not another saved address of the same kind.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_NEW_PRIMARY","when":"The replacement primary is not another saved address of the same kind.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_NEW_PRIMARY","when":"The replacement primary is not another saved address of the same kind.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_NEW_PRIMARY","when":"The replacement primary is not another saved address of the same kind.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.contactPoints.primary.update":{"post":{"tags":["Operations: clients"],"operationId":"clients.contactPoints.primary.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.contactPoints.primary.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.contactPoints.primary.update","description":"Promotes the address identified by contactPointId to the primary of its kind. The previous primary stays saved as a secondary address, and `email` / `phoneNumber` change to the new primary, so sends that use the default address go there. Fails with CONTACT_POINT_NOT_FOUND (recovery: clients.get) or CONFLICT when expectedVersion is stale.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateInput"},"examples":{"Use a secondary email as the primary":{"summary":"Use a secondary email as the primary","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","contactPointId":"5c2e8a17-4b3d-4e9f-8a6c-1d7b9e0f2a43"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.primary.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsPrimaryUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.contactPoints.update":{"post":{"tags":["Operations: clients"],"operationId":"clients.contactPoints.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.contactPoints.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.contactPoints.update","description":"Changes the value and/or label of the address identified by contactPointId (from client.emails[].id / client.phones[].id). The kind and primary status stay the same; correcting the primary also updates `email` / `phoneNumber`. The same rules as clients.contactPoints.create apply: CONTACT_POINT_EMAIL_IN_USE when another active client has the email, a CONTACT_POINT_PHONE_SHARED warning for a shared phone number, CONTACT_POINT_NOT_FOUND (recovery: clients.get), CONTACT_POINT_INVALID_VALUE, CONTACT_POINT_ALREADY_ON_CLIENT, CONFLICT when expectedVersion is stale.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateInput"},"examples":{"Fix a typo in a saved email address":{"summary":"Fix a typo in a saved email address","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","contactPointId":"5c2e8a17-4b3d-4e9f-8a6c-1d7b9e0f2a43","value":"lena.fischer@nordlicht-consulting.de"}},"Label a saved number as private":{"summary":"Label a saved number as private","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","contactPointId":"5c2e8a17-4b3d-4e9f-8a6c-1d7b9e0f2a43","label":"private"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.contactPoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns the submitted email address.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_INVALID_VALUE","when":"The submitted address is invalid for its kind.","recovery":{"operation":"clients.contactPoints.update","requiredFields":["clientId","contactPointId","value"]}},{"code":"CONTACT_POINT_ALREADY_ON_CLIENT","when":"The client already has this address saved.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_NOT_FOUND","when":"The saved address does not belong to the client.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsContactPointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.create":{"post":{"tags":["Operations: clients"],"operationId":"clients.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.create","description":"Inserts a new client into the account, records a creation activity, and dispatches client-created effect triggers (automations, notifications). Requires first and last name; email, phone, company, address, status, source, attribution, tag ids, and custom field values are optional. Requires an Idempotency-Key; Flow confirmation follows the effective account/domain autonomy policy, except that an AI agent granting privacyConsent or trackingConsent always needs the person’s confirmation, as clients.consent.eventBatches.create does; the consent event records the agent as its actor kind. The created client is returned and can later be archived, so the write is reversible in practice. Run clients.duplicates.check first to avoid duplicate records.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateInput"},"examples":{"Create a website lead with company and phone":{"summary":"Create a website lead with company and phone","value":{"firstName":"Lena","lastName":"Fischer","email":"lena.fischer@example.com","phoneNumber":"+49 40 1234567","company":"Nordlicht Consulting GmbH","status":"lead","source":"website"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns a submitted secondary email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns a submitted secondary email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns a submitted secondary email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns a submitted secondary email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns a submitted secondary email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns a submitted secondary email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns a submitted secondary email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns a submitted secondary email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns a submitted secondary email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"CONTACT_POINT_EMAIL_IN_USE","when":"Another active client owns a submitted secondary email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.customFields.list":{"post":{"tags":["Operations: clients"],"operationId":"clients.customFields.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.customFields.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.customFields.list","description":"Returns the account's custom client field definitions (key, label, type, options) as a cursor-paginated page plus the complete definition set. Pass the returned nextCursor to fetch the next page; an invalid or expired cursor fails with INVALID_CURSOR and a recovery pointer back to the first page.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListInput"},"examples":{"First page of custom field definitions":{"summary":"First page of custom field definitions","value":{"limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The definition cursor is malformed.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The definition cursor is malformed.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The definition cursor is malformed.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The definition cursor is malformed.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The definition cursor is malformed.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The definition cursor is malformed.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The definition cursor is malformed.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The definition cursor is malformed.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The definition cursor is malformed.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.customFields.update":{"post":{"tags":["Operations: clients"],"operationId":"clients.customFields.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.customFields.update","x-moreflow-agent":{"effect":"bulk_write","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"clients.customFields.update","description":"Replaces the complete account definition set after validating field names, types and options. Requires the server canManageCustomFields capability and preserves the existing definition identifiers. Returns the updated configuration resource.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateInput"},"examples":{"Set one text field":{"summary":"Set one text field","value":{"definitions":[{"name":"Industry","type":"text"}]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.customFields.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsCustomFieldsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.editPolicy.get":{"post":{"tags":["Operations: clients"],"operationId":"clients.editPolicy.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.editPolicy.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read client edit policy","description":"Returns clientEditPolicy: 'open' (default; every member edits every client, the owner is informational) or 'edit_own' (members other than owners and admins may edit, delete and assign only clients they own or unassigned clients). capabilities.canManage is true for owners and admins. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetInput"},"examples":{"Read the client edit policy":{"summary":"Read the client edit policy","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.editPolicy.update":{"post":{"tags":["Operations: clients"],"operationId":"clients.editPolicy.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.editPolicy.update","summary":"clients.editPolicy.update","description":"Stores clientEditPolicy: 'open' (every member edits every client) or 'edit_own' (members other than owners and admins edit, delete and assign only their own or unassigned clients). Requires capabilities.canManage from clients.editPolicy.get; other members get FORBIDDEN. Takes effect for the next client write.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateInput"},"examples":{"Restrict editing to own clients":{"summary":"Restrict editing to own clients","value":{"clientEditPolicy":"edit_own"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the client edit policy.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the client edit policy.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the client edit policy.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the client edit policy.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the client edit policy.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the client edit policy.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the client edit policy.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the client edit policy.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the client edit policy.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.editPolicy.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the client edit policy.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsEditPolicyUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.complete":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.complete","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.complete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.complete","description":"Sets the follow-up to completed with the caller as completing user and a completion timestamp, removing it from upcoming lists. Address it by followUpId, or with target { clientId, select: \"newest_open\" } to complete the newest open follow-up of that client that the caller can see; a client without one fails with NO_OPEN_FOLLOW_UP and a recovery to clients.followUps.create. Requires the caller’s complete capability on that follow-up. For a repeating follow-up the next occurrence is created in the same step, and none is created once the repeat rule has ended; find it with clients.followUps.list. Concurrent completions of the same occurrence create only one next occurrence. Writes an activity entry and returns the completed follow-up; reopen it with clients.followUps.update and completed false.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteInput"},"examples":{"Close a follow-up after the call happened":{"summary":"Close a follow-up after the call happened","value":{"followUpId":"5b8e2f7c-1a4d-4c9e-a3f6-8d7b6c5e4f3a"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.create":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.create","description":"Creates a follow-up on the given client with a due timestamp (followUpAt), an optional note, a visibility (private, assigned, or global), and optional assignee user ids that must belong to the account. Records a client activity entry and returns the follow-up with resolved user records. Reversible: the follow-up can later be completed, removed, or restored.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateInput"},"examples":{"Schedule a call-back for next week and assign a colleague":{"summary":"Schedule a call-back for next week and assign a colleague","value":{"clientId":"3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d","followUpAt":"2026-09-14T09:30:00.000Z","note":"Call back about the extended support offer.","visibility":"assigned","assignedToUserIds":["a1d2c3b4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"SOURCE_NOTE_NOT_FOUND","when":"The source note is deleted, foreign, or belongs to another client.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"SOURCE_NOTE_NOT_FOUND","when":"The source note is deleted, foreign, or belongs to another client.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"SOURCE_NOTE_NOT_FOUND","when":"The source note is deleted, foreign, or belongs to another client.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"SOURCE_NOTE_NOT_FOUND","when":"The source note is deleted, foreign, or belongs to another client.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"SOURCE_NOTE_NOT_FOUND","when":"The source note is deleted, foreign, or belongs to another client.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"SOURCE_NOTE_NOT_FOUND","when":"The source note is deleted, foreign, or belongs to another client.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"SOURCE_NOTE_NOT_FOUND","when":"The source note is deleted, foreign, or belongs to another client.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"SOURCE_NOTE_NOT_FOUND","when":"The source note is deleted, foreign, or belongs to another client.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"SOURCE_NOTE_NOT_FOUND","when":"The source note is deleted, foreign, or belongs to another client.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"SOURCE_NOTE_NOT_FOUND","when":"The source note is deleted, foreign, or belongs to another client.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.delete":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.delete","description":"Marks the follow-up as deleted and records who deleted it; the row is kept so clients.followUps.restore can undo the removal. Requires the caller’s delete capability on that follow-up. Writes an activity entry and returns the follow-up in its deleted state.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteInput"},"examples":{"Remove a follow-up that was created by mistake":{"summary":"Remove a follow-up that was created by mistake","value":{"clientId":"3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d","followUpId":"5b8e2f7c-1a4d-4c9e-a3f6-8d7b6c5e4f3a"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.import":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.import","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.import","x-moreflow-agent":{"effect":"bulk_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.import","description":"Creates the same follow-up request for up to 100 selected clients. Missing or stale client ids fail only their own outcome; successful follow-ups are retained and are not repeated when the same idempotency key is retried.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportInput"},"examples":{"Schedule the same follow-up for two selected clients":{"summary":"Schedule the same follow-up for two selected clients","value":{"clientIds":["3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d","4f0b7c2e-6d3a-4b9f-8c1e-0a2d3f4b5c6e"],"followUpAt":"2026-09-14T09:30:00.000Z","note":"Call back about the extended support offer.","visibility":"assigned"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is not a member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.list":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.list","description":"Returns every follow-up on the given client that the caller is allowed to see (private, assigned, or global visibility rules apply), each with resolved creator and assignee user records and per-item capabilities. Pass includeDeleted to also return soft-deleted follow-ups that can still be restored.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsListInput"},"examples":{"Review the follow-up history of a client":{"summary":"Review the follow-up history of a client","value":{"clientId":"3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.manager.transferOwnership":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.manager.transferOwnership","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.manager.transferOwnership","x-moreflow-agent":{"effect":"bulk_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.manager.transferOwnership","description":"Transfers or shares follow-ups selected by follow-up id or client id between active users in the same account. The operation returns per-client outcomes and requires manager capability when changing another user’s ownership.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipInput"},"examples":{"Transfer selected client follow-ups to a colleague":{"summary":"Transfer selected client follow-ups to a colleague","value":{"fromUserId":"a1d2c3b4-e5f6-4a7b-8c9d-0e1f2a3b4c5d","toUserId":"b2e3d4c5-f6a7-4b8c-9d0e-1f2a3b4c5d6e","clientIds":["3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d"],"mode":"transfer"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The source or target user is missing from the account.","recovery":{"operation":"users.memberships.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. Source and target are identical, or an assignee is outside the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The source or target user is missing from the account.","recovery":{"operation":"users.memberships.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. Source and target are identical, or an assignee is outside the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The source or target user is missing from the account.","recovery":{"operation":"users.memberships.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. Source and target are identical, or an assignee is outside the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The source or target user is missing from the account.","recovery":{"operation":"users.memberships.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. Source and target are identical, or an assignee is outside the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The source or target user is missing from the account.","recovery":{"operation":"users.memberships.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. Source and target are identical, or an assignee is outside the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The source or target user is missing from the account.","recovery":{"operation":"users.memberships.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. Source and target are identical, or an assignee is outside the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The source or target user is missing from the account.","recovery":{"operation":"users.memberships.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. Source and target are identical, or an assignee is outside the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The source or target user is missing from the account.","recovery":{"operation":"users.memberships.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. Source and target are identical, or an assignee is outside the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The source or target user is missing from the account.","recovery":{"operation":"users.memberships.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. Source and target are identical, or an assignee is outside the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.manager.transferOwnership"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The source or target user is missing from the account.","recovery":{"operation":"users.memberships.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. Source and target are identical, or an assignee is outside the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsManagerTransferOwnershipError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.occurrences.update":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.occurrences.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.occurrences.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.occurrences.update","description":"Marks the current occurrence of a repeating follow-up as skipped: it is completed with skipped set, so it leaves upcoming lists without counting as done. The next occurrence of the series is created in the same step; none is created once the repeat rule has ended, and clients.followUps.list shows it. Fails with FOLLOW_UP_NOT_REPEATING for a one-off follow-up (use clients.followUps.complete) and with FOLLOW_UP_ALREADY_COMPLETED for an occurrence that is already completed or skipped; a retry with the same idempotency key replays the first result. Requires the caller’s complete capability on that follow-up.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateInput"},"examples":{"Skip this week’s recurring call":{"summary":"Skip this week’s recurring call","value":{"followUpId":"5b8e2f7c-1a4d-4c9e-a3f6-8d7b6c5e4f3a","status":"skipped"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target follow-up does not exist in this account.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}},{"code":"FOLLOW_UP_NOT_REPEATING","when":"The follow-up has no repeat rule, so it has no occurrence to skip.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}},{"code":"FOLLOW_UP_ALREADY_COMPLETED","when":"This occurrence was already completed or skipped; the series continues from its next occurrence.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target follow-up does not exist in this account.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}},{"code":"FOLLOW_UP_NOT_REPEATING","when":"The follow-up has no repeat rule, so it has no occurrence to skip.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}},{"code":"FOLLOW_UP_ALREADY_COMPLETED","when":"This occurrence was already completed or skipped; the series continues from its next occurrence.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target follow-up does not exist in this account.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}},{"code":"FOLLOW_UP_NOT_REPEATING","when":"The follow-up has no repeat rule, so it has no occurrence to skip.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}},{"code":"FOLLOW_UP_ALREADY_COMPLETED","when":"This occurrence was already completed or skipped; the series continues from its next occurrence.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target follow-up does not exist in this account.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}},{"code":"FOLLOW_UP_NOT_REPEATING","when":"The follow-up has no repeat rule, so it has no occurrence to skip.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}},{"code":"FOLLOW_UP_ALREADY_COMPLETED","when":"This occurrence was already completed or skipped; the series continues from its next occurrence.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target follow-up does not exist in this account.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}},{"code":"FOLLOW_UP_NOT_REPEATING","when":"The follow-up has no repeat rule, so it has no occurrence to skip.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}},{"code":"FOLLOW_UP_ALREADY_COMPLETED","when":"This occurrence was already completed or skipped; the series continues from its next occurrence.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target follow-up does not exist in this account.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}},{"code":"FOLLOW_UP_NOT_REPEATING","when":"The follow-up has no repeat rule, so it has no occurrence to skip.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}},{"code":"FOLLOW_UP_ALREADY_COMPLETED","when":"This occurrence was already completed or skipped; the series continues from its next occurrence.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target follow-up does not exist in this account.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}},{"code":"FOLLOW_UP_NOT_REPEATING","when":"The follow-up has no repeat rule, so it has no occurrence to skip.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}},{"code":"FOLLOW_UP_ALREADY_COMPLETED","when":"This occurrence was already completed or skipped; the series continues from its next occurrence.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target follow-up does not exist in this account.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}},{"code":"FOLLOW_UP_NOT_REPEATING","when":"The follow-up has no repeat rule, so it has no occurrence to skip.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}},{"code":"FOLLOW_UP_ALREADY_COMPLETED","when":"This occurrence was already completed or skipped; the series continues from its next occurrence.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target follow-up does not exist in this account.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}},{"code":"FOLLOW_UP_NOT_REPEATING","when":"The follow-up has no repeat rule, so it has no occurrence to skip.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}},{"code":"FOLLOW_UP_ALREADY_COMPLETED","when":"This occurrence was already completed or skipped; the series continues from its next occurrence.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.occurrences.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target follow-up does not exist in this account.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}},{"code":"FOLLOW_UP_NOT_REPEATING","when":"The follow-up has no repeat rule, so it has no occurrence to skip.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}},{"code":"FOLLOW_UP_ALREADY_COMPLETED","when":"This occurrence was already completed or skipped; the series continues from its next occurrence.","recovery":{"operation":"clients.followUps.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOccurrencesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.ownerCounts.list":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.ownerCounts.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.ownerCounts.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.ownerCounts.list","description":"Returns every account user with their role, the number of open follow-ups they own, and the total including completed ones, counting only follow-ups the caller is allowed to see. Useful to pick source and target users before transferring ownership. The capabilities field reports whether the caller may manage other users’ follow-ups.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListInput"},"examples":{"See who owns how many open follow-ups":{"summary":"See who owns how many open follow-ups","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The owner-count cursor is malformed.","recovery":{"operation":"clients.followUps.ownerCounts.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The owner-count cursor is malformed.","recovery":{"operation":"clients.followUps.ownerCounts.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The owner-count cursor is malformed.","recovery":{"operation":"clients.followUps.ownerCounts.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The owner-count cursor is malformed.","recovery":{"operation":"clients.followUps.ownerCounts.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The owner-count cursor is malformed.","recovery":{"operation":"clients.followUps.ownerCounts.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The owner-count cursor is malformed.","recovery":{"operation":"clients.followUps.ownerCounts.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The owner-count cursor is malformed.","recovery":{"operation":"clients.followUps.ownerCounts.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The owner-count cursor is malformed.","recovery":{"operation":"clients.followUps.ownerCounts.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownerCounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The owner-count cursor is malformed.","recovery":{"operation":"clients.followUps.ownerCounts.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnerCountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.ownership.list":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.ownership.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.ownership.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.ownership.list","description":"Returns the follow-ups owned by or assigned to the given userId (defaults to the caller) together with the client and user records needed to reassign them. Owners and admins may inspect any user; other members only their own. includeCompleted adds finished follow-ups, limit caps the scan (default 250, max 1000). The capabilities field reports whether the caller may manage other users’ follow-ups.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListInput"},"examples":{"Inspect the open follow-ups of a departing colleague":{"summary":"Inspect the open follow-ups of a departing colleague","value":{"userId":"a1d2c3b4-e5f6-4a7b-8c9d-0e1f2a3b4c5d","includeCompleted":false}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The ownership list cursor is malformed.","recovery":{"operation":"clients.followUps.ownership.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The ownership list cursor is malformed.","recovery":{"operation":"clients.followUps.ownership.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The ownership list cursor is malformed.","recovery":{"operation":"clients.followUps.ownership.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The ownership list cursor is malformed.","recovery":{"operation":"clients.followUps.ownership.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The ownership list cursor is malformed.","recovery":{"operation":"clients.followUps.ownership.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The ownership list cursor is malformed.","recovery":{"operation":"clients.followUps.ownership.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The ownership list cursor is malformed.","recovery":{"operation":"clients.followUps.ownership.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The ownership list cursor is malformed.","recovery":{"operation":"clients.followUps.ownership.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.ownership.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The ownership list cursor is malformed.","recovery":{"operation":"clients.followUps.ownership.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsOwnershipListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.restore":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.restore","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.restore","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.restore","description":"Clears the deleted flag on a follow-up removed via clients.followUps.delete so it appears in client and upcoming lists again. Requires the caller’s restore capability on that follow-up. Writes an activity entry and returns the restored follow-up.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreInput"},"examples":{"Undo an accidental removal":{"summary":"Undo an accidental removal","value":{"clientId":"3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d","followUpId":"5b8e2f7c-1a4d-4c9e-a3f6-8d7b6c5e4f3a"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.upcoming.list":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.upcoming.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.upcoming.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.upcoming.list","description":"Returns open follow-ups ordered by due time, limited to those visible to the caller unless they can manage all follow-ups. Optional clientId narrows to one client, limit caps the result (1-100, default 20), and now overrides the reference time used to decide what counts as upcoming. Each item carries the follow-up, its users, and the client record (null if the client is gone).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListInput"},"examples":{"Show the next ten follow-ups due for today":{"summary":"Show the next ten follow-ups due for today","value":{"limit":10,"now":"2026-09-14T06:00:00.000Z"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The upcoming follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.upcoming.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The upcoming follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.upcoming.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The upcoming follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.upcoming.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The upcoming follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.upcoming.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The upcoming follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.upcoming.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The upcoming follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.upcoming.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The upcoming follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.upcoming.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The upcoming follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.upcoming.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.upcoming.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The upcoming follow-up cursor is malformed.","recovery":{"operation":"clients.followUps.upcoming.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpcomingListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.followUps.update":{"post":{"tags":["Operations: clients"],"operationId":"clients.followUps.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.followUps.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.followUps.update","description":"Applies a partial update to a follow-up: new due time (followUpAt), note, visibility, assignee list, or the completed / deleted flags. Only the fields provided change; switching visibility away from assigned clears assignees unless a new list is given. Each requested change is authorized against the caller’s edit, complete, delete, or restore capability on that follow-up. Writes an activity entry and returns the updated follow-up; the change is reversible by a further update.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateInput"},"examples":{"Postpone a follow-up by a week and update the note":{"summary":"Postpone a follow-up by a week and update the note","value":{"followUpId":"5b8e2f7c-1a4d-4c9e-a3f6-8d7b6c5e4f3a","followUpAt":"2026-09-21T09:30:00.000Z","note":"Client asked to talk after the board meeting."}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is outside the account.","recovery":{"operation":"users.memberships.list"}},{"code":"RECURRING_FOLLOW_UP_REQUIRES_COMPLETE","when":"A repeating open occurrence was marked completed through update; it must be completed with clients.followUps.complete so the next occurrence is created.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is outside the account.","recovery":{"operation":"users.memberships.list"}},{"code":"RECURRING_FOLLOW_UP_REQUIRES_COMPLETE","when":"A repeating open occurrence was marked completed through update; it must be completed with clients.followUps.complete so the next occurrence is created.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is outside the account.","recovery":{"operation":"users.memberships.list"}},{"code":"RECURRING_FOLLOW_UP_REQUIRES_COMPLETE","when":"A repeating open occurrence was marked completed through update; it must be completed with clients.followUps.complete so the next occurrence is created.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is outside the account.","recovery":{"operation":"users.memberships.list"}},{"code":"RECURRING_FOLLOW_UP_REQUIRES_COMPLETE","when":"A repeating open occurrence was marked completed through update; it must be completed with clients.followUps.complete so the next occurrence is created.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is outside the account.","recovery":{"operation":"users.memberships.list"}},{"code":"RECURRING_FOLLOW_UP_REQUIRES_COMPLETE","when":"A repeating open occurrence was marked completed through update; it must be completed with clients.followUps.complete so the next occurrence is created.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is outside the account.","recovery":{"operation":"users.memberships.list"}},{"code":"RECURRING_FOLLOW_UP_REQUIRES_COMPLETE","when":"A repeating open occurrence was marked completed through update; it must be completed with clients.followUps.complete so the next occurrence is created.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is outside the account.","recovery":{"operation":"users.memberships.list"}},{"code":"RECURRING_FOLLOW_UP_REQUIRES_COMPLETE","when":"A repeating open occurrence was marked completed through update; it must be completed with clients.followUps.complete so the next occurrence is created.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is outside the account.","recovery":{"operation":"users.memberships.list"}},{"code":"RECURRING_FOLLOW_UP_REQUIRES_COMPLETE","when":"A repeating open occurrence was marked completed through update; it must be completed with clients.followUps.complete so the next occurrence is created.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is outside the account.","recovery":{"operation":"users.memberships.list"}},{"code":"RECURRING_FOLLOW_UP_REQUIRES_COMPLETE","when":"A repeating open occurrence was marked completed through update; it must be completed with clients.followUps.complete so the next occurrence is created.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.followUps.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. An assignee is outside the account.","recovery":{"operation":"users.memberships.list"}},{"code":"RECURRING_FOLLOW_UP_REQUIRES_COMPLETE","when":"A repeating open occurrence was marked completed through update; it must be completed with clients.followUps.complete so the next occurrence is created.","recovery":{"operation":"clients.followUps.complete","requiredFields":["followUpId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsFollowUpsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.get":{"post":{"tags":["Operations: clients"],"operationId":"clients.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.get","description":"Returns the complete client record (contact details, address, pipeline status, source and attribution, tags, custom field values, version). Fails with NOT_FOUND when no active client with that id exists in the account. Notes, files, messages, and activity history are served by their own operations; use clients.detailSummary for an aggregated overview.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsGetInput"},"examples":{"Open a client profile":{"summary":"Open a client profile","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.inboundAssignment.get":{"post":{"tags":["Operations: clients"],"operationId":"clients.inboundAssignment.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.inboundAssignment.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read inbound lead assignment","description":"Returns mode: 'none' (new inbound clients stay unassigned), 'fixed' (fixedUserId owns them) or 'round_robin' (memberUserIds take turns). candidates lists the active members a rule can name. Only clients created by those sources are affected. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetInput"},"examples":{"Read the inbound assignment rule":{"summary":"Read the inbound assignment rule","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.inboundAssignment.update":{"post":{"tags":["Operations: clients"],"operationId":"clients.inboundAssignment.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.inboundAssignment.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.inboundAssignment.update","description":"Stores mode 'none', 'fixed' (fixedUserId, an active member) or 'round_robin' (memberUserIds, active members). Every chosen member must be active, otherwise CLIENT_OWNER_NOT_MEMBER. Applies to clients created after the change; existing clients and matched duplicates are untouched.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateInput"},"examples":{"Round-robin among two members":{"summary":"Round-robin among two members","value":{"mode":"round_robin","memberUserIds":["4b7e2d91-3c6a-4f85-9d1e-7a2c5b8f0e34","9e1c6a3f-5d28-4b7e-a0f4-2c8d6b1e9a57"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the inbound lead assignment.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"INBOUND_ASSIGNMENT_INVALID","when":"The mode is missing its required fixedUserId or memberUserIds.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"A chosen fixed or round-robin member is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the inbound lead assignment.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"INBOUND_ASSIGNMENT_INVALID","when":"The mode is missing its required fixedUserId or memberUserIds.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"A chosen fixed or round-robin member is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the inbound lead assignment.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"INBOUND_ASSIGNMENT_INVALID","when":"The mode is missing its required fixedUserId or memberUserIds.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"A chosen fixed or round-robin member is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the inbound lead assignment.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"INBOUND_ASSIGNMENT_INVALID","when":"The mode is missing its required fixedUserId or memberUserIds.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"A chosen fixed or round-robin member is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the inbound lead assignment.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"INBOUND_ASSIGNMENT_INVALID","when":"The mode is missing its required fixedUserId or memberUserIds.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"A chosen fixed or round-robin member is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the inbound lead assignment.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"INBOUND_ASSIGNMENT_INVALID","when":"The mode is missing its required fixedUserId or memberUserIds.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"A chosen fixed or round-robin member is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the inbound lead assignment.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"INBOUND_ASSIGNMENT_INVALID","when":"The mode is missing its required fixedUserId or memberUserIds.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"A chosen fixed or round-robin member is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the inbound lead assignment.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"INBOUND_ASSIGNMENT_INVALID","when":"The mode is missing its required fixedUserId or memberUserIds.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"A chosen fixed or round-robin member is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the inbound lead assignment.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"INBOUND_ASSIGNMENT_INVALID","when":"The mode is missing its required fixedUserId or memberUserIds.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"A chosen fixed or round-robin member is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.inboundAssignment.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the account owner or an admin can change the inbound lead assignment.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"INBOUND_ASSIGNMENT_INVALID","when":"The mode is missing its required fixedUserId or memberUserIds.","recovery":{"operation":"clients.inboundAssignment.get"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"A chosen fixed or round-robin member is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsInboundAssignmentUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.list":{"post":{"tags":["Operations: clients"],"operationId":"clients.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.list","description":"Returns a cursor-paginated page of client profile rows as {items, nextCursor}. The public input accepts query text, status, an opaque cursor, and a limit from 1 to 100 (default 25). lifecycle: 'trash' lists archived clients instead, oldest first, each with permanentDeletionAt (30 days after archiving); restore them with clients.index.restoreMany before that date. Sales notes, files, messages, and activity history are not included; use clients.get or the dedicated note/file operations for those.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsListInput"},"examples":{"Open leads tagged for the autumn campaign, newest first":{"summary":"Open leads tagged for the autumn campaign, newest first","value":{"query":"autumn campaign","status":"lead","limit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is invalid for the requested lifecycle.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is invalid for the requested lifecycle.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is invalid for the requested lifecycle.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is invalid for the requested lifecycle.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is invalid for the requested lifecycle.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is invalid for the requested lifecycle.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is invalid for the requested lifecycle.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is invalid for the requested lifecycle.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is invalid for the requested lifecycle.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.notes.create":{"post":{"tags":["Operations: clients"],"operationId":"clients.notes.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.notes.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.notes.create","description":"Stores a new note with content (and optional title, preview, and mentioned user ids) on the given client, records a client activity, and notifies mentioned team members. An optional dealId links the note to a deal of that same client (DEAL_NOT_FOUND or DEAL_CLIENT_MISMATCH otherwise). Requires an idempotency key; replaying the same key returns the original note. The note can later be edited with clients.notes.update or soft-deleted with clients.notes.remove.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateInput"},"examples":{"Log a discovery-call summary":{"summary":"Log a discovery-call summary","value":{"clientId":"3f9a6b21-5c4d-4e8f-9a1b-6d2c7e8f9a0b","title":"Discovery call 14 Sep","content":"Spoke with Lena Fischer (Nordlicht Consulting GmbH). Budget approved for Q4, wants a proposal for the onboarding package by 25 Sep."}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.notes.delete":{"post":{"tags":["Operations: clients"],"operationId":"clients.notes.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.notes.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.notes.delete","description":"Soft-deletes a note: it is marked deleted (isDeleted and deletedAt are set) so it leaves note lists and the timeline, the row is kept, a delete activity is logged, and downstream integrations are notified. This is a reversible write under the default confirmation policy, so it needs no always-on confirmation step. Restore it by calling clients.notes.update with the same noteId and isDeleted false. Fails with NOT_FOUND when the note does not belong to the account. The input has no idempotencyKey field, so send an Idempotency-Key header (over MCP, pass the MCP write tool idempotencyKey argument); a retry with the same key replays the stored result with Idempotency-Replayed: true, and reusing the key for a different request returns 409 IDEMPOTENCY_CONFLICT.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteInput"},"examples":{"Remove a duplicate note":{"summary":"Remove a duplicate note","value":{"noteId":"c4d8e2f6-1a3b-4c5d-9e7f-8a9b0c1d2e3f"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.notes.get":{"post":{"tags":["Operations: clients"],"operationId":"clients.notes.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.notes.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.notes.get","description":"Returns the note together with capabilities; fails with NOT_FOUND when the note does not exist for this client in this account. Capabilities: canEditBody is false and bodyOwner is \"collaboration\" when the note body is managed by the live collaborative editor, in which case clients.notes.update rejects body changes.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesGetInput"},"examples":{"Open a note before editing it":{"summary":"Open a note before editing it","value":{"clientId":"3f9a6b21-5c4d-4e8f-9a1b-6d2c7e8f9a0b","noteId":"c4d8e2f6-1a3b-4c5d-9e7f-8a9b0c1d2e3f"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.notes.list":{"post":{"tags":["Operations: clients"],"operationId":"clients.notes.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.notes.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.notes.list","description":"Returns a cursor-paginated page of one client's notes ordered by creation time and id, newest first. Application clients also receive the exact totalCount. Notes are previews by default; set includeContent to true to receive the full body of each note on the page. Use clients.notes.bulkList when you need bodies for many clients at once.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesListInput"},"examples":{"Latest notes with full bodies":{"summary":"Latest notes with full bodies","value":{"clientId":"3f9a6b21-5c4d-4e8f-9a1b-6d2c7e8f9a0b","limit":10,"includeContent":true}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The note cursor is malformed.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The note cursor is malformed.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The note cursor is malformed.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The note cursor is malformed.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The note cursor is malformed.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The note cursor is malformed.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The note cursor is malformed.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The note cursor is malformed.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The note cursor is malformed.","recovery":{"operation":"clients.notes.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.notes.update":{"post":{"tags":["Operations: clients"],"operationId":"clients.notes.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.notes.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.notes.update","description":"Applies a partial update to a note: title, content, contentPreview, mentionedUserIds, pinned, isDraft, isDeleted, or dealId (a deal of the same client; null clears the link). Only the fields you pass change. Body edits are rejected for notes owned by the collaborative editor (check canEditBody from clients.notes.get first). Each update is recorded as a client activity and can be reverted with another update.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateInput"},"examples":{"Fix a typo in the title and publish the draft":{"summary":"Fix a typo in the title and publish the draft","value":{"clientId":"3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d","noteId":"c4d8e2f6-1a3b-4c5d-9e7f-8a9b0c1d2e3f","title":"Discovery call 14 Sep - follow-up items","isDraft":false}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"NOTE_BODY_COLLABORATION_OWNED","when":"The live collaborative document owns the note body.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"COLLABORATION_PROJECTION_CONFLICT","when":"The collaboration projection changed during publication.","recovery":{"operation":"clients.notes.get","requiredFields":["clientId","noteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"NOTE_BODY_COLLABORATION_OWNED","when":"The live collaborative document owns the note body.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"COLLABORATION_PROJECTION_CONFLICT","when":"The collaboration projection changed during publication.","recovery":{"operation":"clients.notes.get","requiredFields":["clientId","noteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"NOTE_BODY_COLLABORATION_OWNED","when":"The live collaborative document owns the note body.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"COLLABORATION_PROJECTION_CONFLICT","when":"The collaboration projection changed during publication.","recovery":{"operation":"clients.notes.get","requiredFields":["clientId","noteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"NOTE_BODY_COLLABORATION_OWNED","when":"The live collaborative document owns the note body.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"COLLABORATION_PROJECTION_CONFLICT","when":"The collaboration projection changed during publication.","recovery":{"operation":"clients.notes.get","requiredFields":["clientId","noteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"NOTE_BODY_COLLABORATION_OWNED","when":"The live collaborative document owns the note body.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"COLLABORATION_PROJECTION_CONFLICT","when":"The collaboration projection changed during publication.","recovery":{"operation":"clients.notes.get","requiredFields":["clientId","noteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"NOTE_BODY_COLLABORATION_OWNED","when":"The live collaborative document owns the note body.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"COLLABORATION_PROJECTION_CONFLICT","when":"The collaboration projection changed during publication.","recovery":{"operation":"clients.notes.get","requiredFields":["clientId","noteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"NOTE_BODY_COLLABORATION_OWNED","when":"The live collaborative document owns the note body.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"COLLABORATION_PROJECTION_CONFLICT","when":"The collaboration projection changed during publication.","recovery":{"operation":"clients.notes.get","requiredFields":["clientId","noteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"NOTE_BODY_COLLABORATION_OWNED","when":"The live collaborative document owns the note body.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"COLLABORATION_PROJECTION_CONFLICT","when":"The collaboration projection changed during publication.","recovery":{"operation":"clients.notes.get","requiredFields":["clientId","noteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"NOTE_BODY_COLLABORATION_OWNED","when":"The live collaborative document owns the note body.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"COLLABORATION_PROJECTION_CONFLICT","when":"The collaboration projection changed during publication.","recovery":{"operation":"clients.notes.get","requiredFields":["clientId","noteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"NOTE_BODY_COLLABORATION_OWNED","when":"The live collaborative document owns the note body.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.notes.update"}}},{"code":"COLLABORATION_PROJECTION_CONFLICT","when":"The collaboration projection changed during publication.","recovery":{"operation":"clients.notes.get","requiredFields":["clientId","noteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsNotesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.owner.batchUpdate":{"post":{"tags":["Operations: clients"],"operationId":"clients.owner.batchUpdate","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.owner.batchUpdate","x-moreflow-agent":{"effect":"bulk_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.owner.batchUpdate","description":"Sets the owner of up to 500 clients, selected either by clientIds or by a client list filter (the same fields as clients.list; \"me\" resolves to the caller). ownerUserId must be an active account member (CLIENT_OWNER_NOT_MEMBER otherwise); null unassigns. A filter matching more than 500 clients fails with CLIENT_OWNER_BULK_TOO_LARGE; start a background job with clients.owner.bulkJobs.create instead. Clients already owned by ownerUserId are skipped. Returns the matched count and the ids that changed.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateInput"},"examples":{"Assign every unassigned lead to a colleague":{"summary":"Assign every unassigned lead to a colleague","value":{"ownerUserId":"10000000-0000-4000-8000-000000000003","filter":{"status":"lead","filters":[{"field":"owner","operator":"isEmpty"}]}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"ownerUserId is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"CLIENT_OWNER_FILTER_INVALID","when":"An owner filter value is not an active member id, \"me\" or \"unassigned\".","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_BULK_TOO_LARGE","when":"The filter matches more clients than the bulk limit; nothing changed.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_ASSIGN_NOT_ALLOWED","when":"The account edit policy does not let the caller assign one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CONFLICT","when":"A client changed during the owner update.","recovery":{"operation":"clients.list"}},{"code":"PROVIDER_ERROR","when":"The owner change committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"ownerUserId is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"CLIENT_OWNER_FILTER_INVALID","when":"An owner filter value is not an active member id, \"me\" or \"unassigned\".","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_BULK_TOO_LARGE","when":"The filter matches more clients than the bulk limit; nothing changed.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_ASSIGN_NOT_ALLOWED","when":"The account edit policy does not let the caller assign one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CONFLICT","when":"A client changed during the owner update.","recovery":{"operation":"clients.list"}},{"code":"PROVIDER_ERROR","when":"The owner change committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"ownerUserId is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"CLIENT_OWNER_FILTER_INVALID","when":"An owner filter value is not an active member id, \"me\" or \"unassigned\".","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_BULK_TOO_LARGE","when":"The filter matches more clients than the bulk limit; nothing changed.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_ASSIGN_NOT_ALLOWED","when":"The account edit policy does not let the caller assign one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CONFLICT","when":"A client changed during the owner update.","recovery":{"operation":"clients.list"}},{"code":"PROVIDER_ERROR","when":"The owner change committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"ownerUserId is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"CLIENT_OWNER_FILTER_INVALID","when":"An owner filter value is not an active member id, \"me\" or \"unassigned\".","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_BULK_TOO_LARGE","when":"The filter matches more clients than the bulk limit; nothing changed.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_ASSIGN_NOT_ALLOWED","when":"The account edit policy does not let the caller assign one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CONFLICT","when":"A client changed during the owner update.","recovery":{"operation":"clients.list"}},{"code":"PROVIDER_ERROR","when":"The owner change committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"ownerUserId is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"CLIENT_OWNER_FILTER_INVALID","when":"An owner filter value is not an active member id, \"me\" or \"unassigned\".","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_BULK_TOO_LARGE","when":"The filter matches more clients than the bulk limit; nothing changed.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_ASSIGN_NOT_ALLOWED","when":"The account edit policy does not let the caller assign one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CONFLICT","when":"A client changed during the owner update.","recovery":{"operation":"clients.list"}},{"code":"PROVIDER_ERROR","when":"The owner change committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"ownerUserId is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"CLIENT_OWNER_FILTER_INVALID","when":"An owner filter value is not an active member id, \"me\" or \"unassigned\".","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_BULK_TOO_LARGE","when":"The filter matches more clients than the bulk limit; nothing changed.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_ASSIGN_NOT_ALLOWED","when":"The account edit policy does not let the caller assign one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CONFLICT","when":"A client changed during the owner update.","recovery":{"operation":"clients.list"}},{"code":"PROVIDER_ERROR","when":"The owner change committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"ownerUserId is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"CLIENT_OWNER_FILTER_INVALID","when":"An owner filter value is not an active member id, \"me\" or \"unassigned\".","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_BULK_TOO_LARGE","when":"The filter matches more clients than the bulk limit; nothing changed.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_ASSIGN_NOT_ALLOWED","when":"The account edit policy does not let the caller assign one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CONFLICT","when":"A client changed during the owner update.","recovery":{"operation":"clients.list"}},{"code":"PROVIDER_ERROR","when":"The owner change committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"ownerUserId is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"CLIENT_OWNER_FILTER_INVALID","when":"An owner filter value is not an active member id, \"me\" or \"unassigned\".","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_BULK_TOO_LARGE","when":"The filter matches more clients than the bulk limit; nothing changed.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_ASSIGN_NOT_ALLOWED","when":"The account edit policy does not let the caller assign one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CONFLICT","when":"A client changed during the owner update.","recovery":{"operation":"clients.list"}},{"code":"PROVIDER_ERROR","when":"The owner change committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"ownerUserId is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"CLIENT_OWNER_FILTER_INVALID","when":"An owner filter value is not an active member id, \"me\" or \"unassigned\".","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_BULK_TOO_LARGE","when":"The filter matches more clients than the bulk limit; nothing changed.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_ASSIGN_NOT_ALLOWED","when":"The account edit policy does not let the caller assign one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CONFLICT","when":"A client changed during the owner update.","recovery":{"operation":"clients.list"}},{"code":"PROVIDER_ERROR","when":"The owner change committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_NOT_MEMBER","when":"ownerUserId is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"CLIENT_OWNER_FILTER_INVALID","when":"An owner filter value is not an active member id, \"me\" or \"unassigned\".","recovery":{"operation":"clients.list"}},{"code":"CLIENT_OWNER_BULK_TOO_LARGE","when":"The filter matches more clients than the bulk limit; nothing changed.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_ASSIGN_NOT_ALLOWED","when":"The account edit policy does not let the caller assign one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own one of the selected clients; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}},{"code":"CONFLICT","when":"A client changed during the owner update.","recovery":{"operation":"clients.list"}},{"code":"PROVIDER_ERROR","when":"The owner change committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.search":{"post":{"tags":["Operations: clients"],"operationId":"clients.search","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.search","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.search","description":"Dedicated command/global client lookup. Matches name, reversed name, email, phone, and company with accent and phone normalization, and the buyer VAT ID or buyer reference (Leitweg-ID) exactly, ignoring whitespace and case; such an identifier match scores 95 and lists no matchedFields entry (the vatId or buyerReference of the item shows the matched value). Results are ordered by deterministic relevance. Without a query, returns the most recently created clients.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsSearchInput"},"examples":{"Look up a client by partial name":{"summary":"Look up a client by partial name","value":{"query":"Lena Fischer","limit":10}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsSearchOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The search cursor is malformed.","recovery":{"operation":"clients.search"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The search cursor is malformed.","recovery":{"operation":"clients.search"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The search cursor is malformed.","recovery":{"operation":"clients.search"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The search cursor is malformed.","recovery":{"operation":"clients.search"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The search cursor is malformed.","recovery":{"operation":"clients.search"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The search cursor is malformed.","recovery":{"operation":"clients.search"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The search cursor is malformed.","recovery":{"operation":"clients.search"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The search cursor is malformed.","recovery":{"operation":"clients.search"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The search cursor is malformed.","recovery":{"operation":"clients.search"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.tags.batchCreate":{"post":{"tags":["Operations: clients"],"operationId":"clients.tags.batchCreate","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.tags.batchCreate","x-moreflow-agent":{"effect":"bulk_write","confirmation":"always","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.tags.batchCreate","description":"Adds the tags to up to 500 explicitly listed clients (clientIds; filters are rejected, so for every client matching a filter use clients.tags.bulkJobs.create instead). Clients that already carry every tag are skipped. changedClientIds lists only the clients whose tags actually changed, and each one emits a tag_added automation trigger, as clients.update does. Confirm the selection with the user before calling: one call can change up to 500 clients and start automations. The change is reversible: to undo it, call clients.tags.batchDelete with the same tagIds and only the returned changedClientIds (exact unless another edit happened in between). An unknown clientId fails with NOT_FOUND and changes nothing; more than 500 ids fails validation. The input has no idempotencyKey field, so send an Idempotency-Key header (over MCP, pass the MCP write tool idempotencyKey argument). A retry with the same key and body replays the stored result with Idempotency-Replayed: true and changes nothing again; reusing the key for a different body returns 409 IDEMPOTENCY_CONFLICT, so use a new key; 425 IDEMPOTENCY_IN_PROGRESS means the identical request is still running, so wait details.retryAfterSeconds and retry with the same key. Requires account membership and a signed-in user.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateInput"},"examples":{"Tag two clients":{"summary":"Tag two clients","value":{"tagIds":["0c9e1f2a-3b4c-4d5e-8f6a-7b8c9d0e1f2a"],"clientIds":["3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchCreate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.tags.batchDelete":{"post":{"tags":["Operations: clients"],"operationId":"clients.tags.batchDelete","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.tags.batchDelete","x-moreflow-agent":{"effect":"bulk_write","confirmation":"always","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.tags.batchDelete","description":"Removes the tags from up to 500 explicitly listed clients (clientIds; filters are rejected, so for every client matching a filter use clients.tags.bulkJobs.create instead). Clients that carry none of the tags are skipped. changedClientIds lists only the clients that actually lost a tag, and each one emits a tag_removed automation trigger, as clients.update does. Confirm the selection with the user before calling: one call can change up to 500 clients and start automations. The change is reversible: to undo it, call clients.tags.batchCreate with the same tagIds and only the returned changedClientIds (exact unless another edit happened in between). An unknown clientId fails with NOT_FOUND and changes nothing; more than 500 ids fails validation. The input has no idempotencyKey field, so send an Idempotency-Key header (over MCP, pass the MCP write tool idempotencyKey argument). A retry with the same key and body replays the stored result with Idempotency-Replayed: true and changes nothing again; reusing the key for a different body returns 409 IDEMPOTENCY_CONFLICT, so use a new key; 425 IDEMPOTENCY_IN_PROGRESS means the identical request is still running, so wait details.retryAfterSeconds and retry with the same key. Requires account membership and a signed-in user.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteInput"},"examples":{"Untag two clients":{"summary":"Untag two clients","value":{"tagIds":["0c9e1f2a-3b4c-4d5e-8f6a-7b8c9d0e1f2a"],"clientIds":["3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.batchDelete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_EDIT_NOT_OWNER","when":"The account edit policy is edit_own and the caller does not own the client; nothing changed.","recovery":{"operation":"clients.editPolicy.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBatchDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.tags.bulkJobs.create":{"post":{"tags":["Operations: clients"],"operationId":"clients.tags.bulkJobs.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.tags.bulkJobs.create","x-moreflow-agent":{"effect":"bulk_write","confirmation":"always","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.tags.bulkJobs.create","description":"Queues a bulk tag job over every active client matching the filter (or every active client when no filter is passed). The exact match count is stored as matchedCount. A worker applies the change in pages of 100 clients, emits the same tag_added or tag_removed automation trigger as a single edit for each client that changes, and records processedCount and changedCount. There is no client cap for filter scopes. Use clients.tags.batchCreate or clients.tags.batchDelete for an explicit list of up to 500 clients instead. Confirm the filter and tagIds with the user before calling: the job can change every matching client and start automations, and it is not undone automatically: to reverse it, start a second job with the opposite mode, which may match a different client set if client data changed in between. Call clients.tags.bulkJobs.estimate first to see the expected matchedCount. The input has no idempotencyKey field, so send an Idempotency-Key header (over MCP, pass the MCP write tool idempotencyKey argument). A retry with the same key and body replays the stored job with Idempotency-Replayed: true and starts no second job; reusing the key for a different body returns 409 IDEMPOTENCY_CONFLICT, so use a new key; 425 IDEMPOTENCY_IN_PROGRESS means the identical request is still running, so wait details.retryAfterSeconds and retry with the same key. A missing tag fails with NOT_FOUND, so list tags with clients.tags.list first. Requires account membership and a signed-in user.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateInput"},"examples":{"Tag every lead":{"summary":"Tag every lead","value":{"mode":"add","tagIds":["0c9e1f2a-3b4c-4d5e-8f6a-7b8c9d0e1f2a"],"filter":{"status":"lead"}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.tags.bulkJobs.estimate":{"post":{"tags":["Operations: clients"],"operationId":"clients.tags.bulkJobs.estimate","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.tags.bulkJobs.estimate","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.tags.bulkJobs.estimate","description":"Returns the exact number of active clients that the filter matches, using the same fields and visibility as clients.list. Use it to confirm the size of a bulk tag job before clients.tags.bulk.start. Omitting the filter counts every active client. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateInput"},"examples":{"Count leads":{"summary":"Count leads","value":{"filter":{"status":"lead"}}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.tags.bulkJobs.get":{"post":{"tags":["Operations: clients"],"operationId":"clients.tags.bulkJobs.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.tags.bulkJobs.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.tags.bulkJobs.get","description":"Returns one bulk tag job: status (queued, running, completed or failed), matchedCount, processedCount, changedCount and, for a failed job, errorCode and errorMessage. Poll until status is completed or failed. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetInput"},"examples":{"Read a job":{"summary":"Read a job","value":{"jobId":"3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.bulkJobs.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsBulkJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.tags.list":{"post":{"tags":["Operations: clients"],"operationId":"clients.tags.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.tags.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.tags.list","description":"Returns the account's tags as a cursor-paged list, each with id, name, colour (a semantic name or null) and usageCount (non-archived clients that carry it). The list is sorted by name and holds at most 1000 tags. Use it to resolve a tag name to its id before filtering client lists, before creating a tag with clients.tags.update, or before renaming, recolouring, merging or deleting a tag.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsListInput"},"examples":{"Load the tag catalog":{"summary":"Load the tag catalog","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The tag cursor is malformed.","recovery":{"operation":"clients.tags.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The tag cursor is malformed.","recovery":{"operation":"clients.tags.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The tag cursor is malformed.","recovery":{"operation":"clients.tags.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The tag cursor is malformed.","recovery":{"operation":"clients.tags.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The tag cursor is malformed.","recovery":{"operation":"clients.tags.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The tag cursor is malformed.","recovery":{"operation":"clients.tags.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The tag cursor is malformed.","recovery":{"operation":"clients.tags.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The tag cursor is malformed.","recovery":{"operation":"clients.tags.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.tags.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The tag cursor is malformed.","recovery":{"operation":"clients.tags.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.tags.update":{"post":{"tags":["Operations: clients"],"operationId":"clients.tags.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.tags.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.tags.update","description":"Idempotently ensures a tag with the given name exists in the account and returns it. It is naturally idempotent by name: the name is trimmed and lowercased before matching, so calling it again with the same name returns the same tag id instead of a duplicate. Creating a tag does not assign it to any client; it only adds a reusable label. It is a reversible local write under the default confirmation policy, so it needs no separate confirmation step. The input has no idempotencyKey field, so send an Idempotency-Key header (over MCP, pass the MCP write tool idempotencyKey argument). A retry with the same key and body replays the stored tag with Idempotency-Replayed: true; reusing the key for a different body returns 409 IDEMPOTENCY_CONFLICT, so use a new key. Requires a signed-in account member. Rename, recolour, merge or delete tags with clients.tags.rename, clients.tags.recolor, clients.tags.merge and clients.tags.delete.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateInput"},"examples":{"Create a tag for trade-fair leads":{"summary":"Create a tag for trade-fair leads","value":{"name":"Messe 2026"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTagsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.touchpoints.get":{"post":{"tags":["Operations: clients"],"operationId":"clients.touchpoints.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"clients.touchpoints.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Get client touchpoint","description":"Returns one touchpoint of the client: acquisition channel, UTM values, ad click ids, ad platform ids and names, landing page, referrer, visitor id, the source record (sourceType, sourceId) and when it occurred. NOT_FOUND when the client or the touchpoint does not exist in this account, or the touchpoint belongs to another client; list them with clients.touchpoints.list.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetInput"},"examples":{"Open a touchpoint":{"summary":"Open a touchpoint","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","touchpointId":"0b6f2d4e-8a1c-4e3b-9f5d-7c2a1e0b8d64"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client or the touchpoint does not exist in this account, or the touchpoint belongs to another client.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client or the touchpoint does not exist in this account, or the touchpoint belongs to another client.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client or the touchpoint does not exist in this account, or the touchpoint belongs to another client.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client or the touchpoint does not exist in this account, or the touchpoint belongs to another client.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client or the touchpoint does not exist in this account, or the touchpoint belongs to another client.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client or the touchpoint does not exist in this account, or the touchpoint belongs to another client.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client or the touchpoint does not exist in this account, or the touchpoint belongs to another client.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client or the touchpoint does not exist in this account, or the touchpoint belongs to another client.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client or the touchpoint does not exist in this account, or the touchpoint belongs to another client.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.touchpoints.list":{"post":{"tags":["Operations: clients"],"operationId":"clients.touchpoints.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"clients.touchpoints.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List client touchpoints","description":"Returns a cursor-paginated page of the client’s touchpoints as {items, nextCursor}, oldest first by default (order desc for newest first). Each touchpoint is one inbound conversion (form submission, booking, chatbot lead, ad platform lead, ...) with its acquisition channel, UTM values, ad click ids, ad platform ids and names, landing page, referrer and the source record id. firstTouchpoint and latestTouchpoint are the client’s earliest and most recent touch independent of the page; a deal is credited to the latest touch at or before its creation. Trashed clients stay readable. NOT_FOUND when the client does not exist in this account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsListInput"},"examples":{"Show where a client came from":{"summary":"Show where a client came from","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","limit":25}},"Newest touches first":{"summary":"Newest touches first","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","order":"desc","limit":10}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or was issued for the other order.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or was issued for the other order.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or was issued for the other order.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or was issued for the other order.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or was issued for the other order.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or was issued for the other order.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or was issued for the other order.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or was issued for the other order.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.touchpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or was issued for the other order.","recovery":{"operation":"clients.touchpoints.list","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsTouchpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/clients.update":{"post":{"tags":["Operations: clients"],"operationId":"clients.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"clients.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"clients.update","description":"Applies a partial update to one client identified by clientId: only the supplied fields change, and status changes are validated against the pipeline lifecycle (for example a disqualification reason is required for not_qualified). Supplying email or phoneNumber replaces that kind’s primary; if the value is already a secondary address on this client, it is promoted and the former primary stays as a secondary. A genuinely new address also becomes primary. Pass expectedVersion to fail with a conflict instead of overwriting a concurrent edit. Supplying privacyConsent or trackingConsent records a staff_manual grant or withdrawal in the consent ledger, recorded by the calling user; when an AI agent supplies either, the call always needs the person’s confirmation, as clients.consent.eventBatches.create does, and the consent event records the agent as its actor kind. Records an activity, publishes an operation event, and returns the updated client. Previous values are not restored automatically, but every field can be edited again.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateInput"},"examples":{"Mark a client as appointment scheduled and correct the phone number":{"summary":"Mark a client as appointment scheduled and correct the phone number","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","status":"appointment_scheduled","phoneNumber":"+49 40 7654321","expectedVersion":3}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"A blocked client must be unblocked through its lifecycle operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"A blocked client must be unblocked through its lifecycle operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"A blocked client must be unblocked through its lifecycle operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"A blocked client must be unblocked through its lifecycle operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"A blocked client must be unblocked through its lifecycle operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"A blocked client must be unblocked through its lifecycle operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"A blocked client must be unblocked through its lifecycle operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"A blocked client must be unblocked through its lifecycle operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"A blocked client must be unblocked through its lifecycle operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The target client or child resource does not exist in this account.","recovery":{"operation":"clients.list"}},{"code":"CONFLICT","when":"The record changed concurrently or an active client already owns the email.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. A selected custom field/value or resulting status/reason combination is invalid.","recovery":{"operation":"clients.customFields.list"}},{"code":"PROVIDER_ERROR","when":"The client write committed but required effect delivery remains pending; read the committed state before retrying.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"A blocked client must be unblocked through its lifecycle operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"clients.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationClientsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.conversations.delete":{"post":{"tags":["Operations: communications"],"operationId":"communications.conversations.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.conversations.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"communications.conversations.delete","description":"Soft-deletes the conversation identified by conversationId: it moves to the inbox bin, disappears from inbox lists and the unread badge, and keeps its messages until the bin's retention ends. Returns the conversation with trashedAt and permanentDeletionAt (30 days after trashedAt). Restore it before then with communications.conversations.restore; list the bin with communications.conversations.list trashed: only. A new message in the thread, in either direction, takes it out of the bin. Deleting a thread that is already in the bin returns it unchanged and does not restart the retention window. Only unified-inbox threads (email, WhatsApp, SMS, support chat) have a bin; other threads fail with INVALID_STATE. Fails with NOT_FOUND when the conversation does not exist in this account, and with CONVERSATION_SUPPORT_CASE_THREAD for a thread that backs a support case (mark it done with communications.conversations.update instead).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteInput"},"examples":{"Move a spam thread to the bin":{"summary":"Move a spam thread to the bin","value":{"conversationId":"6b3f9a2d-4e17-4c85-a9d2-8f1c5e7b3d46"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}},{"code":"INVALID_STATE","when":"The conversation is not a unified-inbox thread (email, WhatsApp, SMS or support chat), so it has no bin.","recovery":{"operation":"communications.conversations.list"}},{"code":"CONVERSATION_SUPPORT_CASE_THREAD","when":"The conversation backs a support case, which the bin never purges; mark it done instead.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","done"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}},{"code":"INVALID_STATE","when":"The conversation is not a unified-inbox thread (email, WhatsApp, SMS or support chat), so it has no bin.","recovery":{"operation":"communications.conversations.list"}},{"code":"CONVERSATION_SUPPORT_CASE_THREAD","when":"The conversation backs a support case, which the bin never purges; mark it done instead.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","done"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}},{"code":"INVALID_STATE","when":"The conversation is not a unified-inbox thread (email, WhatsApp, SMS or support chat), so it has no bin.","recovery":{"operation":"communications.conversations.list"}},{"code":"CONVERSATION_SUPPORT_CASE_THREAD","when":"The conversation backs a support case, which the bin never purges; mark it done instead.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","done"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}},{"code":"INVALID_STATE","when":"The conversation is not a unified-inbox thread (email, WhatsApp, SMS or support chat), so it has no bin.","recovery":{"operation":"communications.conversations.list"}},{"code":"CONVERSATION_SUPPORT_CASE_THREAD","when":"The conversation backs a support case, which the bin never purges; mark it done instead.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","done"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}},{"code":"INVALID_STATE","when":"The conversation is not a unified-inbox thread (email, WhatsApp, SMS or support chat), so it has no bin.","recovery":{"operation":"communications.conversations.list"}},{"code":"CONVERSATION_SUPPORT_CASE_THREAD","when":"The conversation backs a support case, which the bin never purges; mark it done instead.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","done"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}},{"code":"INVALID_STATE","when":"The conversation is not a unified-inbox thread (email, WhatsApp, SMS or support chat), so it has no bin.","recovery":{"operation":"communications.conversations.list"}},{"code":"CONVERSATION_SUPPORT_CASE_THREAD","when":"The conversation backs a support case, which the bin never purges; mark it done instead.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","done"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}},{"code":"INVALID_STATE","when":"The conversation is not a unified-inbox thread (email, WhatsApp, SMS or support chat), so it has no bin.","recovery":{"operation":"communications.conversations.list"}},{"code":"CONVERSATION_SUPPORT_CASE_THREAD","when":"The conversation backs a support case, which the bin never purges; mark it done instead.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","done"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}},{"code":"INVALID_STATE","when":"The conversation is not a unified-inbox thread (email, WhatsApp, SMS or support chat), so it has no bin.","recovery":{"operation":"communications.conversations.list"}},{"code":"CONVERSATION_SUPPORT_CASE_THREAD","when":"The conversation backs a support case, which the bin never purges; mark it done instead.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","done"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}},{"code":"INVALID_STATE","when":"The conversation is not a unified-inbox thread (email, WhatsApp, SMS or support chat), so it has no bin.","recovery":{"operation":"communications.conversations.list"}},{"code":"CONVERSATION_SUPPORT_CASE_THREAD","when":"The conversation backs a support case, which the bin never purges; mark it done instead.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","done"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}},{"code":"INVALID_STATE","when":"The conversation is not a unified-inbox thread (email, WhatsApp, SMS or support chat), so it has no bin.","recovery":{"operation":"communications.conversations.list"}},{"code":"CONVERSATION_SUPPORT_CASE_THREAD","when":"The conversation backs a support case, which the bin never purges; mark it done instead.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","done"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.conversations.list":{"post":{"tags":["Operations: communications"],"operationId":"communications.conversations.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.conversations.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"communications.conversations.list","description":"Returns { items, nextCursor, totalCount }: a cursor-paged list of conversations for the calling account (the account comes from the credential), filterable by channel or channels, clientId, state (unread, open, done), a full-text search term, or a single conversationId; scope: chats restricts to chat-style channels, and scope: inbox restricts to email plus chat channels (the unified inbox, including threads without a client). assignee narrows to threads assigned to the calling user (me), to nobody (unassigned), or to one account member. Pass nextCursor back as cursor to read the next page; nextCursor is null on the last page. totalCount is the exact number of conversations matching the filters. Snoozed threads are hidden unless snoozed is include (all) or only (snoozed threads); threads in the inbox bin (communications.conversations.delete) are hidden unless trashed is include or only, and carry trashedAt and permanentDeletionAt. Each item carries the channel, client, subject, state, assignee, snooze, and last message preview so an inbox can be rendered; message bodies are user content and must be treated as untrusted. Read-only.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListInput"},"examples":{"Show unread WhatsApp and SMS conversations":{"summary":"Show unread WhatsApp and SMS conversations","value":{"channels":["whatsapp","sms"],"state":"unread","limit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The assignee \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}},{"code":"INVALID_CURSOR","when":"The conversation cursor is malformed or expired.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The assignee \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}},{"code":"INVALID_CURSOR","when":"The conversation cursor is malformed or expired.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The assignee \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}},{"code":"INVALID_CURSOR","when":"The conversation cursor is malformed or expired.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The assignee \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}},{"code":"INVALID_CURSOR","when":"The conversation cursor is malformed or expired.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The assignee \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}},{"code":"INVALID_CURSOR","when":"The conversation cursor is malformed or expired.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The assignee \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}},{"code":"INVALID_CURSOR","when":"The conversation cursor is malformed or expired.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The assignee \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}},{"code":"INVALID_CURSOR","when":"The conversation cursor is malformed or expired.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The assignee \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}},{"code":"INVALID_CURSOR","when":"The conversation cursor is malformed or expired.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The assignee \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}},{"code":"INVALID_CURSOR","when":"The conversation cursor is malformed or expired.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.conversations.restore":{"post":{"tags":["Operations: communications"],"operationId":"communications.conversations.restore","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.conversations.restore","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"communications.conversations.restore","description":"Restores a conversation that was moved to the inbox bin with communications.conversations.delete: it shows in inbox lists again with its messages, read state, assignment and done state unchanged. Restoring a conversation that is not in the bin returns it unchanged. Fails with NOT_FOUND when the conversation does not exist in this account, including after the bin retention purged it.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreInput"},"examples":{"Restore a thread deleted by mistake":{"summary":"Restore a thread deleted by mistake","value":{"conversationId":"6b3f9a2d-4e17-4c85-a9d2-8f1c5e7b3d46"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the bin retention already purged it.","recovery":{"operation":"communications.conversations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.conversations.unreadCount.get":{"post":{"tags":["Operations: communications"],"operationId":"communications.conversations.unreadCount.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.conversations.unreadCount.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"communications.conversations.unreadCount.get","description":"Returns the unreadCount singleton resource { id: \"unreadCount\", unreadCount }: the number of conversations for the calling account (the account comes from the credential) that are unread and not currently snoozed. Pass scope: inbox for the unified inbox (email plus chat channels) or scope: chats for the CRM chats inbox; channels narrows the set further. The count uses the same rules as communications.conversations.list with state: unread. Read-only.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetInput"},"examples":{"Count unread inbox conversations":{"summary":"Count unread inbox conversations","value":{"scope":"inbox"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.unreadCount.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUnreadCountGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.conversations.update":{"post":{"tags":["Operations: communications"],"operationId":"communications.conversations.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.conversations.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"communications.conversations.update","description":"Updates the conversation identified by conversationId: set read or done flags, a free-form status, extra metadata, or attach it to an existing clientId (validated against the CRM). Flags can be flipped back with another call, but a client link replaces the previous one. Linking a client also attributes the unattributed messages of this thread to that client so they appear on its timeline; messages already attributed to another client are not changed. assignedUserId assigns the thread to an active account member (null unassigns) and notifies that member when someone else assigns it to them. snoozedUntil hides the thread from the inbox until that future instant (null clears the snooze); a new inbound message clears it. Every account member may assign and snooze. Returns the updated conversation; fails with NOT_FOUND when the conversation or client does not exist, CONVERSATION_ASSIGNEE_NOT_MEMBER for an assignee outside the account, and CONVERSATION_SNOOZE_IN_PAST for a snooze that does not end in the future.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateInput"},"examples":{"Mark a thread as handled and attach it to the client":{"summary":"Mark a thread as handled and attach it to the client","value":{"conversationId":"6b3f9a2d-4e17-4c85-a9d2-8f1c5e7b3d46","clientId":"a1e5d9c3-7b24-4f68-9d0a-2c6e8b4f1a37","read":true,"done":true}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the clientId to link does not exist or was deleted.","recovery":{"operation":"communications.conversations.list"}},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM is unavailable, so the clientId link cannot be verified.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","clientId"]}},{"code":"CONVERSATION_ASSIGNEE_NOT_MEMBER","when":"The assignedUserId is not an active member of this account.","recovery":{"operation":"users.memberships.list"}},{"code":"CONVERSATION_SNOOZE_IN_PAST","when":"snoozedUntil does not end in the future.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","snoozedUntil"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the clientId to link does not exist or was deleted.","recovery":{"operation":"communications.conversations.list"}},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM is unavailable, so the clientId link cannot be verified.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","clientId"]}},{"code":"CONVERSATION_ASSIGNEE_NOT_MEMBER","when":"The assignedUserId is not an active member of this account.","recovery":{"operation":"users.memberships.list"}},{"code":"CONVERSATION_SNOOZE_IN_PAST","when":"snoozedUntil does not end in the future.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","snoozedUntil"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the clientId to link does not exist or was deleted.","recovery":{"operation":"communications.conversations.list"}},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM is unavailable, so the clientId link cannot be verified.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","clientId"]}},{"code":"CONVERSATION_ASSIGNEE_NOT_MEMBER","when":"The assignedUserId is not an active member of this account.","recovery":{"operation":"users.memberships.list"}},{"code":"CONVERSATION_SNOOZE_IN_PAST","when":"snoozedUntil does not end in the future.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","snoozedUntil"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the clientId to link does not exist or was deleted.","recovery":{"operation":"communications.conversations.list"}},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM is unavailable, so the clientId link cannot be verified.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","clientId"]}},{"code":"CONVERSATION_ASSIGNEE_NOT_MEMBER","when":"The assignedUserId is not an active member of this account.","recovery":{"operation":"users.memberships.list"}},{"code":"CONVERSATION_SNOOZE_IN_PAST","when":"snoozedUntil does not end in the future.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","snoozedUntil"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the clientId to link does not exist or was deleted.","recovery":{"operation":"communications.conversations.list"}},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM is unavailable, so the clientId link cannot be verified.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","clientId"]}},{"code":"CONVERSATION_ASSIGNEE_NOT_MEMBER","when":"The assignedUserId is not an active member of this account.","recovery":{"operation":"users.memberships.list"}},{"code":"CONVERSATION_SNOOZE_IN_PAST","when":"snoozedUntil does not end in the future.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","snoozedUntil"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the clientId to link does not exist or was deleted.","recovery":{"operation":"communications.conversations.list"}},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM is unavailable, so the clientId link cannot be verified.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","clientId"]}},{"code":"CONVERSATION_ASSIGNEE_NOT_MEMBER","when":"The assignedUserId is not an active member of this account.","recovery":{"operation":"users.memberships.list"}},{"code":"CONVERSATION_SNOOZE_IN_PAST","when":"snoozedUntil does not end in the future.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","snoozedUntil"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the clientId to link does not exist or was deleted.","recovery":{"operation":"communications.conversations.list"}},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM is unavailable, so the clientId link cannot be verified.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","clientId"]}},{"code":"CONVERSATION_ASSIGNEE_NOT_MEMBER","when":"The assignedUserId is not an active member of this account.","recovery":{"operation":"users.memberships.list"}},{"code":"CONVERSATION_SNOOZE_IN_PAST","when":"snoozedUntil does not end in the future.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","snoozedUntil"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the clientId to link does not exist or was deleted.","recovery":{"operation":"communications.conversations.list"}},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM is unavailable, so the clientId link cannot be verified.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","clientId"]}},{"code":"CONVERSATION_ASSIGNEE_NOT_MEMBER","when":"The assignedUserId is not an active member of this account.","recovery":{"operation":"users.memberships.list"}},{"code":"CONVERSATION_SNOOZE_IN_PAST","when":"snoozedUntil does not end in the future.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","snoozedUntil"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the clientId to link does not exist or was deleted.","recovery":{"operation":"communications.conversations.list"}},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM is unavailable, so the clientId link cannot be verified.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","clientId"]}},{"code":"CONVERSATION_ASSIGNEE_NOT_MEMBER","when":"The assignedUserId is not an active member of this account.","recovery":{"operation":"users.memberships.list"}},{"code":"CONVERSATION_SNOOZE_IN_PAST","when":"snoozedUntil does not end in the future.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","snoozedUntil"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.conversations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The conversation does not exist in this account, or the clientId to link does not exist or was deleted.","recovery":{"operation":"communications.conversations.list"}},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM is unavailable, so the clientId link cannot be verified.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","clientId"]}},{"code":"CONVERSATION_ASSIGNEE_NOT_MEMBER","when":"The assignedUserId is not an active member of this account.","recovery":{"operation":"users.memberships.list"}},{"code":"CONVERSATION_SNOOZE_IN_PAST","when":"snoozedUntil does not end in the future.","recovery":{"operation":"communications.conversations.update","requiredFields":["conversationId","snoozedUntil"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsConversationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.emailDraft.generate":{"post":{"tags":["Operations: communications"],"operationId":"communications.emailDraft.generate","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.emailDraft.generate","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"communications.emailDraft.generate","description":"Calls the configured AI provider with the client record and your prompt to produce a plain-text email body and, unless existingSubject is given, a subject suggestion; currentBodyText lets it revise an existing draft instead of starting over. Nothing is sent and no message is stored, so the caller decides what to do with the draft (for example pass it to communications.messages.send). Consumes AI credits; fails with NOT_FOUND when the client does not exist.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateInput"},"examples":{"Revive a lead that went quiet after a demo":{"summary":"Revive a lead that went quiet after a demo","value":{"clientId":"a1e5d9c3-7b24-4f68-9d0a-2c6e8b4f1a37","prompt":"Friendly follow-up after last week's demo, offer a 20-minute call to answer open questions."}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateOutput"},"examples":{"Revive a lead that went quiet after a demo":{"summary":"Revive a lead that went quiet after a demo","value":{"id":"example-draft","bodyText":"Thank you for your time.","suggestedSubject":null,"newSubject":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The CRM client does not exist or was deleted.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"Client-aware draft generation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"PROVIDER_ERROR","when":"The generation provider failed or returned an invalid draft.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit. The AI allowance or provider rate limit is exhausted.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The CRM client does not exist or was deleted.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"Client-aware draft generation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"PROVIDER_ERROR","when":"The generation provider failed or returned an invalid draft.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit. The AI allowance or provider rate limit is exhausted.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The CRM client does not exist or was deleted.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"Client-aware draft generation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"PROVIDER_ERROR","when":"The generation provider failed or returned an invalid draft.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit. The AI allowance or provider rate limit is exhausted.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The CRM client does not exist or was deleted.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"Client-aware draft generation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"PROVIDER_ERROR","when":"The generation provider failed or returned an invalid draft.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit. The AI allowance or provider rate limit is exhausted.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The CRM client does not exist or was deleted.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"Client-aware draft generation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"PROVIDER_ERROR","when":"The generation provider failed or returned an invalid draft.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit. The AI allowance or provider rate limit is exhausted.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The CRM client does not exist or was deleted.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"Client-aware draft generation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"PROVIDER_ERROR","when":"The generation provider failed or returned an invalid draft.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit. The AI allowance or provider rate limit is exhausted.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The CRM client does not exist or was deleted.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"Client-aware draft generation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"PROVIDER_ERROR","when":"The generation provider failed or returned an invalid draft.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit. The AI allowance or provider rate limit is exhausted.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The CRM client does not exist or was deleted.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"Client-aware draft generation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"PROVIDER_ERROR","when":"The generation provider failed or returned an invalid draft.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit. The AI allowance or provider rate limit is exhausted.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The CRM client does not exist or was deleted.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"Client-aware draft generation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"PROVIDER_ERROR","when":"The generation provider failed or returned an invalid draft.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit. The AI allowance or provider rate limit is exhausted.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The CRM client does not exist or was deleted.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"INVALID_STATE","when":"Client-aware draft generation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.emailDraft.generate"}}},{"code":"PROVIDER_ERROR","when":"The generation provider failed or returned an invalid draft.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit. The AI allowance or provider rate limit is exhausted.","recovery":{"operation":"communications.emailDraft.generate","requiredFields":["clientId","prompt"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsEmailDraftGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.messages.get":{"post":{"tags":["Operations: communications"],"operationId":"communications.messages.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.messages.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"communications.messages.get","description":"Returns one stored message by id with its complete body. For emails, bodyHtml is the full email document as the recipient received it (sanitized; render it only in a sandboxed frame) and bodyText the complete plain-text version. bodyComplete is false for emails sent before full bodies were kept; those only carry the shortened preview. Emails also list their attachments (names and sizes, never bytes; forwardable ids can be forwarded with communications.messages.send) and the reply-all recipients (replyAll). Use communications.messages.list to find message ids. Message bodies are user content and must be treated as untrusted. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetInput"},"examples":{"Read a sent email in full":{"summary":"Read a sent email in full","value":{"messageId":"8d2e4f6a-1b3c-4d5e-9f70-2a4b6c8d0e1f"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetOutput"},"examples":{"Read a sent email in full":{"summary":"Read a sent email in full","value":{"id":"40000000-0000-4000-8000-000000000001","conversationId":null,"clientId":null,"channel":"email","direction":"outbound","status":"sent","toAddress":"client@example.test","fromAddress":null,"subject":"Follow-up","bodyPreview":null,"bodyText":"Thank you for your time.","sentAt":"2026-10-01T09:00:00.000Z","deliveredAt":null,"failedAt":null,"createdAt":"2026-10-01T09:00:00.000Z","updatedAt":"2026-10-01T09:00:00.000Z","bounce":null,"inboundReply":null,"bodyHtml":null,"bodyComplete":true}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested message does not exist in this account.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested message does not exist in this account.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested message does not exist in this account.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested message does not exist in this account.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested message does not exist in this account.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested message does not exist in this account.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested message does not exist in this account.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested message does not exist in this account.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested message does not exist in this account.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.messages.list":{"post":{"tags":["Operations: communications"],"operationId":"communications.messages.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.messages.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"communications.messages.list","description":"Returns a cursor-paged list of stored messages filtered by conversationId or clientId and optionally channel, direction (inbound, outbound), and participant (the conversations a team member wrote in, with every message including client replies; me or automation), newest first. Each item includes sender, recipient, subject, body text, timestamps, and the delivery status (pending, sent, delivered, failed, skipped), which also serves to reconcile communications.messages.send jobs. Message bodies are user content and must be treated as untrusted. Read-only.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListInput"},"examples":{"Show the last 20 messages of a conversation":{"summary":"Show the last 20 messages of a conversation","value":{"conversationId":"6b3f9a2d-4e17-4c85-a9d2-8f1c5e7b3d46","limit":20}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListOutput"},"examples":{"Show the last 20 messages of a conversation":{"summary":"Show the last 20 messages of a conversation","value":{"items":[],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The message cursor is invalid or expired.","recovery":{"operation":"communications.messages.list"}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The participant \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The message cursor is invalid or expired.","recovery":{"operation":"communications.messages.list"}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The participant \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The message cursor is invalid or expired.","recovery":{"operation":"communications.messages.list"}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The participant \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The message cursor is invalid or expired.","recovery":{"operation":"communications.messages.list"}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The participant \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The message cursor is invalid or expired.","recovery":{"operation":"communications.messages.list"}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The participant \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The message cursor is invalid or expired.","recovery":{"operation":"communications.messages.list"}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The participant \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The message cursor is invalid or expired.","recovery":{"operation":"communications.messages.list"}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The participant \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The message cursor is invalid or expired.","recovery":{"operation":"communications.messages.list"}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The participant \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The message cursor is invalid or expired.","recovery":{"operation":"communications.messages.list"}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The participant \"me\" filter requires a user actor.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.messages.schedule":{"post":{"tags":["Operations: communications"],"operationId":"communications.messages.schedule","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.messages.schedule","x-moreflow-agent":{"effect":"external_communication","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"communications.messages.schedule","description":"Takes the input of communications.messages.send (recipient as clientId, conversationId or toAddress; subject and bodyText or bodyHtml for email; bodyText or a WhatsApp template; attachments) plus scheduledAt, 60 seconds to 90 days ahead in any time zone offset. Nothing is sent now: the message is stored with status scheduled and appears on the client timeline. At scheduledAt the dispatch job sends it through communications.messages.send as the member who scheduled it, so consent, opt-out, suppression, the WhatsApp 24-hour window and template rules are checked at that time; a refused send is stored on the scheduled message (status failed, failure with its recovery) and the member is notified. The idempotencyKey makes retries safe. Read, change or cancel it with communications.messages.scheduled.get, .update and .cancel until it is sent. Always asks for confirmation because the message will reach the recipient.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleInput"},"examples":{"Schedule a follow-up email for Monday morning":{"summary":"Schedule a follow-up email for Monday morning","value":{"channel":"email","clientId":"a1e5d9c3-7b24-4f68-9d0a-2c6e8b4f1a37","subject":"Ihr Angebot von Nordlicht Consulting GmbH","bodyText":"Guten Morgen Frau Fischer, haben Sie Fragen zu unserem Angebot?","scheduledAt":"2026-11-02T09:00:00+01:00","idempotencyKey":"proposal-followup-2026-11-02-a1e5d9c3"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead (context names earliest and latest); 'channel_not_schedulable': only email, sms and whatsapp can be scheduled; 'recipient_missing': no clientId, conversationId or toAddress.","recovery":{"operation":"communications.messages.schedule","requiredFields":["channel","idempotencyKey","scheduledAt"]}},{"code":"INVALID_STATE","when":"The client is archived; restore it before you schedule a message.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The caller is not a member: a scheduled message is sent later as the member who scheduled it.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"DEPENDENCY_UNAVAILABLE","when":"This runtime has no scheduled message store; send now with communications.messages.send.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead (context names earliest and latest); 'channel_not_schedulable': only email, sms and whatsapp can be scheduled; 'recipient_missing': no clientId, conversationId or toAddress.","recovery":{"operation":"communications.messages.schedule","requiredFields":["channel","idempotencyKey","scheduledAt"]}},{"code":"INVALID_STATE","when":"The client is archived; restore it before you schedule a message.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The caller is not a member: a scheduled message is sent later as the member who scheduled it.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"DEPENDENCY_UNAVAILABLE","when":"This runtime has no scheduled message store; send now with communications.messages.send.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead (context names earliest and latest); 'channel_not_schedulable': only email, sms and whatsapp can be scheduled; 'recipient_missing': no clientId, conversationId or toAddress.","recovery":{"operation":"communications.messages.schedule","requiredFields":["channel","idempotencyKey","scheduledAt"]}},{"code":"INVALID_STATE","when":"The client is archived; restore it before you schedule a message.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The caller is not a member: a scheduled message is sent later as the member who scheduled it.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"DEPENDENCY_UNAVAILABLE","when":"This runtime has no scheduled message store; send now with communications.messages.send.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead (context names earliest and latest); 'channel_not_schedulable': only email, sms and whatsapp can be scheduled; 'recipient_missing': no clientId, conversationId or toAddress.","recovery":{"operation":"communications.messages.schedule","requiredFields":["channel","idempotencyKey","scheduledAt"]}},{"code":"INVALID_STATE","when":"The client is archived; restore it before you schedule a message.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The caller is not a member: a scheduled message is sent later as the member who scheduled it.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"DEPENDENCY_UNAVAILABLE","when":"This runtime has no scheduled message store; send now with communications.messages.send.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead (context names earliest and latest); 'channel_not_schedulable': only email, sms and whatsapp can be scheduled; 'recipient_missing': no clientId, conversationId or toAddress.","recovery":{"operation":"communications.messages.schedule","requiredFields":["channel","idempotencyKey","scheduledAt"]}},{"code":"INVALID_STATE","when":"The client is archived; restore it before you schedule a message.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The caller is not a member: a scheduled message is sent later as the member who scheduled it.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"DEPENDENCY_UNAVAILABLE","when":"This runtime has no scheduled message store; send now with communications.messages.send.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead (context names earliest and latest); 'channel_not_schedulable': only email, sms and whatsapp can be scheduled; 'recipient_missing': no clientId, conversationId or toAddress.","recovery":{"operation":"communications.messages.schedule","requiredFields":["channel","idempotencyKey","scheduledAt"]}},{"code":"INVALID_STATE","when":"The client is archived; restore it before you schedule a message.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The caller is not a member: a scheduled message is sent later as the member who scheduled it.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"DEPENDENCY_UNAVAILABLE","when":"This runtime has no scheduled message store; send now with communications.messages.send.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead (context names earliest and latest); 'channel_not_schedulable': only email, sms and whatsapp can be scheduled; 'recipient_missing': no clientId, conversationId or toAddress.","recovery":{"operation":"communications.messages.schedule","requiredFields":["channel","idempotencyKey","scheduledAt"]}},{"code":"INVALID_STATE","when":"The client is archived; restore it before you schedule a message.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The caller is not a member: a scheduled message is sent later as the member who scheduled it.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"DEPENDENCY_UNAVAILABLE","when":"This runtime has no scheduled message store; send now with communications.messages.send.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead (context names earliest and latest); 'channel_not_schedulable': only email, sms and whatsapp can be scheduled; 'recipient_missing': no clientId, conversationId or toAddress.","recovery":{"operation":"communications.messages.schedule","requiredFields":["channel","idempotencyKey","scheduledAt"]}},{"code":"INVALID_STATE","when":"The client is archived; restore it before you schedule a message.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The caller is not a member: a scheduled message is sent later as the member who scheduled it.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"DEPENDENCY_UNAVAILABLE","when":"This runtime has no scheduled message store; send now with communications.messages.send.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead (context names earliest and latest); 'channel_not_schedulable': only email, sms and whatsapp can be scheduled; 'recipient_missing': no clientId, conversationId or toAddress.","recovery":{"operation":"communications.messages.schedule","requiredFields":["channel","idempotencyKey","scheduledAt"]}},{"code":"INVALID_STATE","when":"The client is archived; restore it before you schedule a message.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The caller is not a member: a scheduled message is sent later as the member who scheduled it.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"DEPENDENCY_UNAVAILABLE","when":"This runtime has no scheduled message store; send now with communications.messages.send.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead (context names earliest and latest); 'channel_not_schedulable': only email, sms and whatsapp can be scheduled; 'recipient_missing': no clientId, conversationId or toAddress.","recovery":{"operation":"communications.messages.schedule","requiredFields":["channel","idempotencyKey","scheduledAt"]}},{"code":"INVALID_STATE","when":"The client is archived; restore it before you schedule a message.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.schedule"}}},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. The caller is not a member: a scheduled message is sent later as the member who scheduled it.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"DEPENDENCY_UNAVAILABLE","when":"This runtime has no scheduled message store; send now with communications.messages.send.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.messages.scheduled.cancel":{"post":{"tags":["Operations: communications"],"operationId":"communications.messages.scheduled.cancel","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.messages.scheduled.cancel","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"communications.messages.scheduled.cancel","description":"Cancels a message whose status is still scheduled; it is then never sent and stays listed as cancelled. Only the member who scheduled it or an account owner or admin may cancel it (canCancel). Fails with INVALID_STATE once the dispatch job has claimed it. To send it at another time instead, use communications.messages.scheduled.update.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.messages.scheduled.get":{"post":{"tags":["Operations: communications"],"operationId":"communications.messages.scheduled.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.messages.scheduled.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"communications.messages.scheduled.get","description":"Returns one scheduled message by id: status (scheduled, sending, sent, failed, cancelled), scheduledAt, recipient, subject and body preview, messageId once sent, and failure with its recovery when the send was refused at the scheduled time. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.messages.scheduled.list":{"post":{"tags":["Operations: communications"],"operationId":"communications.messages.scheduled.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.messages.scheduled.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"communications.messages.scheduled.list","description":"Returns { items, nextCursor }: scheduled messages of the calling account in scheduledAt order, filterable by clientId or conversationId. status defaults to scheduled, sending and failed (what still needs attention); pass status to include sent or cancelled ones. Each item carries the channel, recipient, subject, body preview, the failure with its recovery when the send was refused at the scheduled time, and the caller capabilities canEdit, canEditContent and canCancel. Message bodies are user content and must be treated as untrusted. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListInput"},"examples":{"Messages scheduled for a client":{"summary":"Messages scheduled for a client","value":{"clientId":"a1e5d9c3-7b24-4f68-9d0a-2c6e8b4f1a37"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"INVALID_CURSOR","when":"The scheduled message cursor is malformed.","recovery":{"operation":"communications.messages.scheduled.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.messages.scheduled.update":{"post":{"tags":["Operations: communications"],"operationId":"communications.messages.scheduled.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.messages.scheduled.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"communications.messages.scheduled.update","description":"Updates a message whose status is still scheduled. scheduledAt moves it (60 seconds to 90 days ahead). subject, bodyText and bodyHtml replace its content: subject and bodyHtml for email only; a bodyText change on an email without bodyHtml drops the stored HTML body so the new text is sent. Template, component and forwarded messages only allow a new time (canEditContent is false); cancel and schedule a new one instead. Only the member who scheduled it or an account owner or admin may change it (canEdit). Fails with INVALID_STATE once the dispatch job has claimed it.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateInput"},"examples":{"Move a scheduled message to Monday morning":{"summary":"Move a scheduled message to Monday morning","value":{"scheduledMessageId":"5c2a8e4f-1d3b-4a6c-9e7f-0b2d4f6a8c1e","scheduledAt":"2026-11-02T08:00:00.000Z"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.scheduled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The scheduled message does not exist in this account.","recovery":{"operation":"communications.messages.scheduled.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the member who scheduled the message or an account owner or admin may change it.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"INVALID_STATE","when":"With reason 'scheduled_message_<status>': the message is already being sent, was sent, failed or was cancelled; context.status names its state.","recovery":{"operation":"communications.messages.scheduled.get","requiredFields":["scheduledMessageId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. With reason 'content_not_editable': a subject or body change for a template, component or forwarded message, or a subject or bodyHtml for a text message (cancel it and schedule a new one); 'scheduled_at_too_soon' or 'scheduled_at_too_far': scheduledAt is less than 60 seconds or more than 90 days ahead.","recovery":{"operation":"communications.messages.scheduled.update","requiredFields":["scheduledMessageId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesScheduledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.messages.send":{"post":{"tags":["Operations: communications"],"operationId":"communications.messages.send","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.messages.send","x-moreflow-agent":{"effect":"external_communication","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"communications.messages.send","description":"Queues a single message on the given channel: toAddress (or the client's stored contact when clientId is set), subject and bodyText/bodyHtml for email, attachments or Flow artifacts as files. To forward an email, set forwardedFromMessageId and optionally forwardedAttachmentIds to re-send that message's stored files without re-uploading them. The idempotencyKey makes retries safe and replays the same result; the message is stored, linked to a conversation, and handed to the provider, then its status moves from pending to sent, delivered, failed, or skipped (poll with communications.messages.list). Select providerAccountId for a connected Gmail or Microsoft mailbox the caller may use (canSend on communications.emailAccounts.list; a private mailbox of someone else gives MAILBOX_PRIVATE) or senderDomainId for a verified Resend domain. Microsoft replies use replyToMessageId from an imported message in the same mailbox; for email, conversationId keeps the message in that existing thread. Graph acceptance or uncertainty remains queued until Sent Items confirms submission; an uncertain attempt must not be resent. Always asks for confirmation because a delivered message cannot be taken back.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendInput"},"examples":{"Email a proposal follow-up to a client":{"summary":"Email a proposal follow-up to a client","value":{"channel":"email","clientId":"a1e5d9c3-7b24-4f68-9d0a-2c6e8b4f1a37","toAddress":"lena.fischer@example.com","subject":"Ihr Angebot von Nordlicht Consulting GmbH","bodyText":"Guten Tag Frau Fischer, anbei die besprochenen Konditionen. Passt Ihnen ein kurzes Gespräch am Donnerstag?","idempotencyKey":"proposal-followup-2026-09-14-a1e5d9c3"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendOutput"},"examples":{"Email a proposal follow-up to a client":{"summary":"Email a proposal follow-up to a client","value":{"id":"40000000-0000-4000-8000-000000000001","conversationId":null,"clientId":null,"channel":"email","direction":"outbound","status":"sent","toAddress":"client@example.test","fromAddress":null,"subject":"Follow-up","bodyPreview":null,"bodyText":"Thank you for your time.","sentAt":"2026-10-01T09:00:00.000Z","deliveredAt":null,"failedAt":null,"createdAt":"2026-10-01T09:00:00.000Z","updatedAt":"2026-10-01T09:00:00.000Z","conversation":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"INVALID_STATE","when":"The selected channel, credentials or recipient thread cannot send.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"DEPENDENCY_UNAVAILABLE","when":"Recipient or attachment verification dependencies are unavailable.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'consent_required': campaign-class mail (an automation or Flow send-email step, lead-revival outreach) names a recipient that is suppressed, opted out of the sequences topic or of that sequence (the one-click List-Unsubscribe target), or owned by a client without marketing consent, without a required double opt-in, or blocked; details.skippedRecipients names each address with its reason and recovery (for example clients.consent.get).","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_RESOLVER_UNAVAILABLE","when":"Flow artifact attachments cannot be resolved.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_INVALID","when":"An artifact or combined attachment set violates delivery limits.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"PROVIDER_ERROR","when":"The delivery provider refused or failed the send.","recovery":{"operation":"communications.messages.list"}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The delivery key identifies a different existing message.","recovery":{"operation":"communications.messages.list"}},{"code":"CONFLICT","when":"The email send is already in flight.","recovery":{"operation":"communications.messages.list"}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. The account has exhausted its channel allowance. For an SMS on a wallet_v1 account the allowance is the usage wallet, and a refusal is UPGRADE_REQUIRED with details.reason set to WALLET_EMPTY, WALLET_TOP_UP_FAILED, WALLET_INSUFFICIENT_FUNDS or USAGE_PRICE_NOT_CONFIGURED; recovery names billing.wallet.topUp (or billing.subscription.updateDefaultPaymentMethod for a failed top-up, admin.usage_prices.update for a missing price). Nothing is sent or charged. For an e-mail on a wallet_v1 account only the overage above the included e-mails is paid from the wallet: the same refusal codes apply to that overage, and e-mails within the included amount are always sent.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"Account send caps, recipient frequency limits, a pause or quiet hours prevent this delivery.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"INVALID_STATE","when":"The selected channel, credentials or recipient thread cannot send.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"DEPENDENCY_UNAVAILABLE","when":"Recipient or attachment verification dependencies are unavailable.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'consent_required': campaign-class mail (an automation or Flow send-email step, lead-revival outreach) names a recipient that is suppressed, opted out of the sequences topic or of that sequence (the one-click List-Unsubscribe target), or owned by a client without marketing consent, without a required double opt-in, or blocked; details.skippedRecipients names each address with its reason and recovery (for example clients.consent.get).","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_RESOLVER_UNAVAILABLE","when":"Flow artifact attachments cannot be resolved.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_INVALID","when":"An artifact or combined attachment set violates delivery limits.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"PROVIDER_ERROR","when":"The delivery provider refused or failed the send.","recovery":{"operation":"communications.messages.list"}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The delivery key identifies a different existing message.","recovery":{"operation":"communications.messages.list"}},{"code":"CONFLICT","when":"The email send is already in flight.","recovery":{"operation":"communications.messages.list"}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. The account has exhausted its channel allowance. For an SMS on a wallet_v1 account the allowance is the usage wallet, and a refusal is UPGRADE_REQUIRED with details.reason set to WALLET_EMPTY, WALLET_TOP_UP_FAILED, WALLET_INSUFFICIENT_FUNDS or USAGE_PRICE_NOT_CONFIGURED; recovery names billing.wallet.topUp (or billing.subscription.updateDefaultPaymentMethod for a failed top-up, admin.usage_prices.update for a missing price). Nothing is sent or charged. For an e-mail on a wallet_v1 account only the overage above the included e-mails is paid from the wallet: the same refusal codes apply to that overage, and e-mails within the included amount are always sent.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"Account send caps, recipient frequency limits, a pause or quiet hours prevent this delivery.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"INVALID_STATE","when":"The selected channel, credentials or recipient thread cannot send.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"DEPENDENCY_UNAVAILABLE","when":"Recipient or attachment verification dependencies are unavailable.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'consent_required': campaign-class mail (an automation or Flow send-email step, lead-revival outreach) names a recipient that is suppressed, opted out of the sequences topic or of that sequence (the one-click List-Unsubscribe target), or owned by a client without marketing consent, without a required double opt-in, or blocked; details.skippedRecipients names each address with its reason and recovery (for example clients.consent.get).","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_RESOLVER_UNAVAILABLE","when":"Flow artifact attachments cannot be resolved.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_INVALID","when":"An artifact or combined attachment set violates delivery limits.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"PROVIDER_ERROR","when":"The delivery provider refused or failed the send.","recovery":{"operation":"communications.messages.list"}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The delivery key identifies a different existing message.","recovery":{"operation":"communications.messages.list"}},{"code":"CONFLICT","when":"The email send is already in flight.","recovery":{"operation":"communications.messages.list"}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. The account has exhausted its channel allowance. For an SMS on a wallet_v1 account the allowance is the usage wallet, and a refusal is UPGRADE_REQUIRED with details.reason set to WALLET_EMPTY, WALLET_TOP_UP_FAILED, WALLET_INSUFFICIENT_FUNDS or USAGE_PRICE_NOT_CONFIGURED; recovery names billing.wallet.topUp (or billing.subscription.updateDefaultPaymentMethod for a failed top-up, admin.usage_prices.update for a missing price). Nothing is sent or charged. For an e-mail on a wallet_v1 account only the overage above the included e-mails is paid from the wallet: the same refusal codes apply to that overage, and e-mails within the included amount are always sent.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"Account send caps, recipient frequency limits, a pause or quiet hours prevent this delivery.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"INVALID_STATE","when":"The selected channel, credentials or recipient thread cannot send.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"DEPENDENCY_UNAVAILABLE","when":"Recipient or attachment verification dependencies are unavailable.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'consent_required': campaign-class mail (an automation or Flow send-email step, lead-revival outreach) names a recipient that is suppressed, opted out of the sequences topic or of that sequence (the one-click List-Unsubscribe target), or owned by a client without marketing consent, without a required double opt-in, or blocked; details.skippedRecipients names each address with its reason and recovery (for example clients.consent.get).","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_RESOLVER_UNAVAILABLE","when":"Flow artifact attachments cannot be resolved.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_INVALID","when":"An artifact or combined attachment set violates delivery limits.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"PROVIDER_ERROR","when":"The delivery provider refused or failed the send.","recovery":{"operation":"communications.messages.list"}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The delivery key identifies a different existing message.","recovery":{"operation":"communications.messages.list"}},{"code":"CONFLICT","when":"The email send is already in flight.","recovery":{"operation":"communications.messages.list"}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. The account has exhausted its channel allowance. For an SMS on a wallet_v1 account the allowance is the usage wallet, and a refusal is UPGRADE_REQUIRED with details.reason set to WALLET_EMPTY, WALLET_TOP_UP_FAILED, WALLET_INSUFFICIENT_FUNDS or USAGE_PRICE_NOT_CONFIGURED; recovery names billing.wallet.topUp (or billing.subscription.updateDefaultPaymentMethod for a failed top-up, admin.usage_prices.update for a missing price). Nothing is sent or charged. For an e-mail on a wallet_v1 account only the overage above the included e-mails is paid from the wallet: the same refusal codes apply to that overage, and e-mails within the included amount are always sent.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"Account send caps, recipient frequency limits, a pause or quiet hours prevent this delivery.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"INVALID_STATE","when":"The selected channel, credentials or recipient thread cannot send.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"DEPENDENCY_UNAVAILABLE","when":"Recipient or attachment verification dependencies are unavailable.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'consent_required': campaign-class mail (an automation or Flow send-email step, lead-revival outreach) names a recipient that is suppressed, opted out of the sequences topic or of that sequence (the one-click List-Unsubscribe target), or owned by a client without marketing consent, without a required double opt-in, or blocked; details.skippedRecipients names each address with its reason and recovery (for example clients.consent.get).","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_RESOLVER_UNAVAILABLE","when":"Flow artifact attachments cannot be resolved.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_INVALID","when":"An artifact or combined attachment set violates delivery limits.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"PROVIDER_ERROR","when":"The delivery provider refused or failed the send.","recovery":{"operation":"communications.messages.list"}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The delivery key identifies a different existing message.","recovery":{"operation":"communications.messages.list"}},{"code":"CONFLICT","when":"The email send is already in flight.","recovery":{"operation":"communications.messages.list"}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. The account has exhausted its channel allowance. For an SMS on a wallet_v1 account the allowance is the usage wallet, and a refusal is UPGRADE_REQUIRED with details.reason set to WALLET_EMPTY, WALLET_TOP_UP_FAILED, WALLET_INSUFFICIENT_FUNDS or USAGE_PRICE_NOT_CONFIGURED; recovery names billing.wallet.topUp (or billing.subscription.updateDefaultPaymentMethod for a failed top-up, admin.usage_prices.update for a missing price). Nothing is sent or charged. For an e-mail on a wallet_v1 account only the overage above the included e-mails is paid from the wallet: the same refusal codes apply to that overage, and e-mails within the included amount are always sent.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"Account send caps, recipient frequency limits, a pause or quiet hours prevent this delivery.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"INVALID_STATE","when":"The selected channel, credentials or recipient thread cannot send.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"DEPENDENCY_UNAVAILABLE","when":"Recipient or attachment verification dependencies are unavailable.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'consent_required': campaign-class mail (an automation or Flow send-email step, lead-revival outreach) names a recipient that is suppressed, opted out of the sequences topic or of that sequence (the one-click List-Unsubscribe target), or owned by a client without marketing consent, without a required double opt-in, or blocked; details.skippedRecipients names each address with its reason and recovery (for example clients.consent.get).","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_RESOLVER_UNAVAILABLE","when":"Flow artifact attachments cannot be resolved.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_INVALID","when":"An artifact or combined attachment set violates delivery limits.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"PROVIDER_ERROR","when":"The delivery provider refused or failed the send.","recovery":{"operation":"communications.messages.list"}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The delivery key identifies a different existing message.","recovery":{"operation":"communications.messages.list"}},{"code":"CONFLICT","when":"The email send is already in flight.","recovery":{"operation":"communications.messages.list"}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. The account has exhausted its channel allowance. For an SMS on a wallet_v1 account the allowance is the usage wallet, and a refusal is UPGRADE_REQUIRED with details.reason set to WALLET_EMPTY, WALLET_TOP_UP_FAILED, WALLET_INSUFFICIENT_FUNDS or USAGE_PRICE_NOT_CONFIGURED; recovery names billing.wallet.topUp (or billing.subscription.updateDefaultPaymentMethod for a failed top-up, admin.usage_prices.update for a missing price). Nothing is sent or charged. For an e-mail on a wallet_v1 account only the overage above the included e-mails is paid from the wallet: the same refusal codes apply to that overage, and e-mails within the included amount are always sent.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"Account send caps, recipient frequency limits, a pause or quiet hours prevent this delivery.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"INVALID_STATE","when":"The selected channel, credentials or recipient thread cannot send.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"DEPENDENCY_UNAVAILABLE","when":"Recipient or attachment verification dependencies are unavailable.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'consent_required': campaign-class mail (an automation or Flow send-email step, lead-revival outreach) names a recipient that is suppressed, opted out of the sequences topic or of that sequence (the one-click List-Unsubscribe target), or owned by a client without marketing consent, without a required double opt-in, or blocked; details.skippedRecipients names each address with its reason and recovery (for example clients.consent.get).","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_RESOLVER_UNAVAILABLE","when":"Flow artifact attachments cannot be resolved.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_INVALID","when":"An artifact or combined attachment set violates delivery limits.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"PROVIDER_ERROR","when":"The delivery provider refused or failed the send.","recovery":{"operation":"communications.messages.list"}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The delivery key identifies a different existing message.","recovery":{"operation":"communications.messages.list"}},{"code":"CONFLICT","when":"The email send is already in flight.","recovery":{"operation":"communications.messages.list"}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. The account has exhausted its channel allowance. For an SMS on a wallet_v1 account the allowance is the usage wallet, and a refusal is UPGRADE_REQUIRED with details.reason set to WALLET_EMPTY, WALLET_TOP_UP_FAILED, WALLET_INSUFFICIENT_FUNDS or USAGE_PRICE_NOT_CONFIGURED; recovery names billing.wallet.topUp (or billing.subscription.updateDefaultPaymentMethod for a failed top-up, admin.usage_prices.update for a missing price). Nothing is sent or charged. For an e-mail on a wallet_v1 account only the overage above the included e-mails is paid from the wallet: the same refusal codes apply to that overage, and e-mails within the included amount are always sent.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"Account send caps, recipient frequency limits, a pause or quiet hours prevent this delivery.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"INVALID_STATE","when":"The selected channel, credentials or recipient thread cannot send.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"DEPENDENCY_UNAVAILABLE","when":"Recipient or attachment verification dependencies are unavailable.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'consent_required': campaign-class mail (an automation or Flow send-email step, lead-revival outreach) names a recipient that is suppressed, opted out of the sequences topic or of that sequence (the one-click List-Unsubscribe target), or owned by a client without marketing consent, without a required double opt-in, or blocked; details.skippedRecipients names each address with its reason and recovery (for example clients.consent.get).","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_RESOLVER_UNAVAILABLE","when":"Flow artifact attachments cannot be resolved.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_INVALID","when":"An artifact or combined attachment set violates delivery limits.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"PROVIDER_ERROR","when":"The delivery provider refused or failed the send.","recovery":{"operation":"communications.messages.list"}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The delivery key identifies a different existing message.","recovery":{"operation":"communications.messages.list"}},{"code":"CONFLICT","when":"The email send is already in flight.","recovery":{"operation":"communications.messages.list"}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. The account has exhausted its channel allowance. For an SMS on a wallet_v1 account the allowance is the usage wallet, and a refusal is UPGRADE_REQUIRED with details.reason set to WALLET_EMPTY, WALLET_TOP_UP_FAILED, WALLET_INSUFFICIENT_FUNDS or USAGE_PRICE_NOT_CONFIGURED; recovery names billing.wallet.topUp (or billing.subscription.updateDefaultPaymentMethod for a failed top-up, admin.usage_prices.update for a missing price). Nothing is sent or charged. For an e-mail on a wallet_v1 account only the overage above the included e-mails is paid from the wallet: the same refusal codes apply to that overage, and e-mails within the included amount are always sent.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"Account send caps, recipient frequency limits, a pause or quiet hours prevent this delivery.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"INVALID_STATE","when":"The selected channel, credentials or recipient thread cannot send.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"DEPENDENCY_UNAVAILABLE","when":"Recipient or attachment verification dependencies are unavailable.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'consent_required': campaign-class mail (an automation or Flow send-email step, lead-revival outreach) names a recipient that is suppressed, opted out of the sequences topic or of that sequence (the one-click List-Unsubscribe target), or owned by a client without marketing consent, without a required double opt-in, or blocked; details.skippedRecipients names each address with its reason and recovery (for example clients.consent.get).","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_RESOLVER_UNAVAILABLE","when":"Flow artifact attachments cannot be resolved.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_INVALID","when":"An artifact or combined attachment set violates delivery limits.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"PROVIDER_ERROR","when":"The delivery provider refused or failed the send.","recovery":{"operation":"communications.messages.list"}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The delivery key identifies a different existing message.","recovery":{"operation":"communications.messages.list"}},{"code":"CONFLICT","when":"The email send is already in flight.","recovery":{"operation":"communications.messages.list"}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. The account has exhausted its channel allowance. For an SMS on a wallet_v1 account the allowance is the usage wallet, and a refusal is UPGRADE_REQUIRED with details.reason set to WALLET_EMPTY, WALLET_TOP_UP_FAILED, WALLET_INSUFFICIENT_FUNDS or USAGE_PRICE_NOT_CONFIGURED; recovery names billing.wallet.topUp (or billing.subscription.updateDefaultPaymentMethod for a failed top-up, admin.usage_prices.update for a missing price). Nothing is sent or charged. For an e-mail on a wallet_v1 account only the overage above the included e-mails is paid from the wallet: the same refusal codes apply to that overage, and e-mails within the included amount are always sent.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"Account send caps, recipient frequency limits, a pause or quiet hours prevent this delivery.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The referenced template, client, thread or channel connection is missing.","recovery":{"operation":"communications.messages.list"}},{"code":"INVALID_STATE","when":"The selected channel, credentials or recipient thread cannot send.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"DEPENDENCY_UNAVAILABLE","when":"Recipient or attachment verification dependencies are unavailable.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"CLIENT_BLOCKED","when":"The recipient client is blocked.","recovery":{"operation":"clients.list"}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation. With details.reason 'consent_required': campaign-class mail (an automation or Flow send-email step, lead-revival outreach) names a recipient that is suppressed, opted out of the sequences topic or of that sequence (the one-click List-Unsubscribe target), or owned by a client without marketing consent, without a required double opt-in, or blocked; details.skippedRecipients names each address with its reason and recovery (for example clients.consent.get).","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_RESOLVER_UNAVAILABLE","when":"Flow artifact attachments cannot be resolved.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.messages.send"}}},{"code":"FLOW_ATTACHMENT_INVALID","when":"An artifact or combined attachment set violates delivery limits.","recovery":{"operation":"communications.messages.send","requiredFields":["channel","idempotencyKey"]}},{"code":"PROVIDER_ERROR","when":"The delivery provider refused or failed the send.","recovery":{"operation":"communications.messages.list"}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The delivery key identifies a different existing message.","recovery":{"operation":"communications.messages.list"}},{"code":"CONFLICT","when":"The email send is already in flight.","recovery":{"operation":"communications.messages.list"}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. The account has exhausted its channel allowance. For an SMS on a wallet_v1 account the allowance is the usage wallet, and a refusal is UPGRADE_REQUIRED with details.reason set to WALLET_EMPTY, WALLET_TOP_UP_FAILED, WALLET_INSUFFICIENT_FUNDS or USAGE_PRICE_NOT_CONFIGURED; recovery names billing.wallet.topUp (or billing.subscription.updateDefaultPaymentMethod for a failed top-up, admin.usage_prices.update for a missing price). Nothing is sent or charged. For an e-mail on a wallet_v1 account only the overage above the included e-mails is paid from the wallet: the same refusal codes apply to that overage, and e-mails within the included amount are always sent.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"Account send caps, recipient frequency limits, a pause or quiet hours prevent this delivery.","recovery":{"operation":"communications.messages.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsMessagesSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.templates.rendered.get":{"post":{"tags":["Operations: communications"],"operationId":"communications.templates.rendered.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.templates.rendered.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"communications.templates.rendered.get","description":"Provide clientId plus either templateId (a saved template of the account) or text (raw text). Placeholders are {{firstName}}, {{lastName}}, {{fullName}}, {{company}}, {{email}}, {{accountName}}, {{senderName}}, and {{bookingLink}}; the snake_case aliases (for example {{first_name}}) work too. Values come from the client record, the workspace profile, the signed-in user, and the public booking list. A placeholder without a value renders as an empty string and is listed in missingPlaceholders; a name that is not in the catalog is listed in unknownPlaceholders. An optional subject is rendered too; for a template it overrides the template subject. Read-only. Use it to preview a saved reply before inserting it into a message.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetInput"},"examples":{"Preview a saved reply for a client":{"summary":"Preview a saved reply for a client","value":{"clientId":"6b3f9a2d-4e17-4c85-a9d2-8f1c5e7b3d46","templateId":"2f8e6d4c-1a3b-4c5d-9e7f-0a1b2c3d4e5f"}},"Fill raw text for a client":{"summary":"Fill raw text for a client","value":{"clientId":"6b3f9a2d-4e17-4c85-a9d2-8f1c5e7b3d46","text":"Hallo {{first_name}}, hier ist der Termin: {{booking_link}}","subject":"Ihr Termin bei {{accountName}}"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The templateId is not a saved template of this account, or the clientId does not exist or was deleted in this account; find valid ids with communications.templates.list or clients.list.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"INVALID_STATE","when":"Client-aware template rendering is not configured for this runtime.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The templateId is not a saved template of this account, or the clientId does not exist or was deleted in this account; find valid ids with communications.templates.list or clients.list.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"INVALID_STATE","when":"Client-aware template rendering is not configured for this runtime.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The templateId is not a saved template of this account, or the clientId does not exist or was deleted in this account; find valid ids with communications.templates.list or clients.list.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"INVALID_STATE","when":"Client-aware template rendering is not configured for this runtime.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The templateId is not a saved template of this account, or the clientId does not exist or was deleted in this account; find valid ids with communications.templates.list or clients.list.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"INVALID_STATE","when":"Client-aware template rendering is not configured for this runtime.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The templateId is not a saved template of this account, or the clientId does not exist or was deleted in this account; find valid ids with communications.templates.list or clients.list.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"INVALID_STATE","when":"Client-aware template rendering is not configured for this runtime.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The templateId is not a saved template of this account, or the clientId does not exist or was deleted in this account; find valid ids with communications.templates.list or clients.list.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"INVALID_STATE","when":"Client-aware template rendering is not configured for this runtime.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The templateId is not a saved template of this account, or the clientId does not exist or was deleted in this account; find valid ids with communications.templates.list or clients.list.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"INVALID_STATE","when":"Client-aware template rendering is not configured for this runtime.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The templateId is not a saved template of this account, or the clientId does not exist or was deleted in this account; find valid ids with communications.templates.list or clients.list.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"INVALID_STATE","when":"Client-aware template rendering is not configured for this runtime.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The templateId is not a saved template of this account, or the clientId does not exist or was deleted in this account; find valid ids with communications.templates.list or clients.list.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"INVALID_STATE","when":"Client-aware template rendering is not configured for this runtime.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.templates.rendered.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsTemplatesRenderedGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/communications.whatsapp.clientThread.get":{"post":{"tags":["Operations: communications.whatsapp"],"operationId":"communications.whatsapp.clientThread.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"communications.whatsapp.clientThread.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"communications.whatsapp.clientThread.get","description":"Returns the WhatsApp conversation between the account and one client (conversation metadata, the 24-hour customer-service window state, and up to limit most recent inbound and outbound messages with delivery status and media references). When the account sends from several numbers, phoneNumberId selects the thread of one sender number. Returns an empty thread when no messages exist. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetInput"},"examples":{"Open the WhatsApp thread of a client before replying":{"summary":"Open the WhatsApp thread of a client before replying","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetOutput"},"examples":{"Open the WhatsApp thread of a client before replying":{"summary":"Open the WhatsApp thread of a client before replying","value":{"id":"20000000-0000-4000-8000-000000000001","clientId":"20000000-0000-4000-8000-000000000001","messages":[],"nextCursor":null,"conversation":null,"capabilities":{"canSaveMediaToFiles":false}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The thread message cursor is invalid or expired.","recovery":{"operation":"communications.whatsapp.clientThread.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The thread message cursor is invalid or expired.","recovery":{"operation":"communications.whatsapp.clientThread.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The thread message cursor is invalid or expired.","recovery":{"operation":"communications.whatsapp.clientThread.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The thread message cursor is invalid or expired.","recovery":{"operation":"communications.whatsapp.clientThread.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The thread message cursor is invalid or expired.","recovery":{"operation":"communications.whatsapp.clientThread.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The thread message cursor is invalid or expired.","recovery":{"operation":"communications.whatsapp.clientThread.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The thread message cursor is invalid or expired.","recovery":{"operation":"communications.whatsapp.clientThread.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The thread message cursor is invalid or expired.","recovery":{"operation":"communications.whatsapp.clientThread.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"communications.whatsapp.clientThread.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The thread message cursor is invalid or expired.","recovery":{"operation":"communications.whatsapp.clientThread.get","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCommunicationsWhatsappClientThreadGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/contracts.create":{"post":{"tags":["Operations: contracts"],"operationId":"contracts.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"contracts.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"contracts.create","description":"Creates a contract in draft status for clientId with the given title and ISO currency code. Either pass lineItems, each priced from a productId in that currency, and the totals are derived from them; or pass totalNetCents and totalGrossCents (integer cents) directly. Given totals must match the derived ones. Optionally attach a templateId or productId, a body, a deliveryMethod, an expiry, and payment due days. Nothing is sent to the client; use contracts.status.update to send it. Confirmation is governed by policy; the draft commits no money until it is sent and signed, and it can be deleted with contracts.delete.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateInput"},"examples":{"Draft a coaching contract for a client":{"summary":"Draft a coaching contract for a client","value":{"clientId":"d4b7f2e1-8c3a-4d9e-b6f5-1a2c3e4d5f60","title":"Vertriebscoaching Q4 2026","totalNetCents":250000,"totalGrossCents":297500,"currency":"EUR","deliveryMethod":"email","dueDateDays":14}},"Draft a contract from two priced lines with different VAT rates":{"summary":"Draft a contract from two priced lines with different VAT rates","value":{"clientId":"d4b7f2e1-8c3a-4d9e-b6f5-1a2c3e4d5f60","title":"Vertriebscoaching Q4 2026","currency":"EUR","lineItems":[{"productId":"5d2f8a10-3c4b-4e6f-9a1b-7c8d9e0f1a2b","quantity":2},{"productId":"6e3a9b21-4d5c-4f7a-8b2c-8d9e0f1a2b3c","taxRateBps":700}]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/contracts.deal.update":{"post":{"tags":["Operations: deals"],"operationId":"contracts.deal.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"contracts.deal.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Link contract to deal","description":"Sets the deal a contract belongs to. The deal must be a live deal of the contract’s client, and the caller needs the deal edit capability (on the deal it leaves when unlinking). The offer that generated the contract is linked together with it. Its invoices, payments and installment plans follow the contract. A contract linked to another deal returns DEAL_LINK_CONFLICT: unlink it with dealId null first. Linking an already linked contract again returns it unchanged. The deal stage and outcome never change.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateInput"},"examples":{"Link a signed contract to its deal":{"summary":"Link a signed contract to its deal","value":{"contractId":"3b9e6c1d-8f2a-4d7b-a5c4-9e1f0b2d6a83","dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f"}},"Unlink a contract":{"summary":"Unlink a contract","value":{"contractId":"3b9e6c1d-8f2a-4d7b-a5c4-9e1f0b2d6a83","dealId":null}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The contract does not exist in this account.","recovery":{"operation":"contracts.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the contract joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the contract.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The contract or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"contracts.deal.update","args":{"dealId":null},"requiredFields":["contractId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"contracts.deal.update","requiredFields":["contractId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The contract does not exist in this account.","recovery":{"operation":"contracts.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the contract joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the contract.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The contract or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"contracts.deal.update","args":{"dealId":null},"requiredFields":["contractId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"contracts.deal.update","requiredFields":["contractId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The contract does not exist in this account.","recovery":{"operation":"contracts.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the contract joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the contract.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The contract or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"contracts.deal.update","args":{"dealId":null},"requiredFields":["contractId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"contracts.deal.update","requiredFields":["contractId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The contract does not exist in this account.","recovery":{"operation":"contracts.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the contract joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the contract.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The contract or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"contracts.deal.update","args":{"dealId":null},"requiredFields":["contractId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"contracts.deal.update","requiredFields":["contractId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The contract does not exist in this account.","recovery":{"operation":"contracts.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the contract joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the contract.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The contract or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"contracts.deal.update","args":{"dealId":null},"requiredFields":["contractId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"contracts.deal.update","requiredFields":["contractId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The contract does not exist in this account.","recovery":{"operation":"contracts.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the contract joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the contract.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The contract or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"contracts.deal.update","args":{"dealId":null},"requiredFields":["contractId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"contracts.deal.update","requiredFields":["contractId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The contract does not exist in this account.","recovery":{"operation":"contracts.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the contract joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the contract.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The contract or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"contracts.deal.update","args":{"dealId":null},"requiredFields":["contractId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"contracts.deal.update","requiredFields":["contractId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The contract does not exist in this account.","recovery":{"operation":"contracts.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the contract joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the contract.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The contract or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"contracts.deal.update","args":{"dealId":null},"requiredFields":["contractId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"contracts.deal.update","requiredFields":["contractId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The contract does not exist in this account.","recovery":{"operation":"contracts.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the contract joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the contract.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The contract or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"contracts.deal.update","args":{"dealId":null},"requiredFields":["contractId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"contracts.deal.update","requiredFields":["contractId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The contract does not exist in this account.","recovery":{"operation":"contracts.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the contract joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the contract.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The contract or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"contracts.deal.update","args":{"dealId":null},"requiredFields":["contractId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"contracts.deal.update","requiredFields":["contractId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/contracts.get":{"post":{"tags":["Operations: contracts"],"operationId":"contracts.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"contracts.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"contracts.get","description":"Returns the full contract record for contractId: title and body, client and product references, net and gross totals, payment configuration, signing and payment dates, current status, and attached files or invoices. Fails with NOT_FOUND when the contract is not in the account. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsGetInput"},"examples":{"Open a contract before sending a payment reminder":{"summary":"Open a contract before sending a payment reminder","value":{"contractId":"3b9e6c1d-8f2a-4d7b-a5c4-9e1f0b2d6a83"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/contracts.list":{"post":{"tags":["Operations: contracts"],"operationId":"contracts.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"contracts.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"contracts.list","description":"Returns a keyset-paginated page of contracts with client name, product, title, net and gross totals, lifecycle status, and dates. Narrow by clientId, status, a free-text query, typed filters (text, money, date, status), an attention queue such as overdue_unpaid or awaiting_signature, and sort; includeTotals adds aggregate sums and includeBody adds the contract body. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsListInput"},"examples":{"Overdue unpaid contracts, newest first":{"summary":"Overdue unpaid contracts, newest first","value":{"attention":"overdue_unpaid","sort":{"field":"createdAt","direction":"desc"},"limit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/contracts.status.update":{"post":{"tags":["Operations: contracts"],"operationId":"contracts.status.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"contracts.status.update","x-moreflow-agent":{"effect":"financial_commitment","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"contracts.status.update","description":"Applies a state transition to contractId. Sending a draft (nextStatus sent) delivers it to the client: to recipient.contactPointId when given (one of the client's saved addresses matching the delivery method; free-form addresses are rejected with RECIPIENT_NOT_ON_CLIENT, recovery clients.contactPoints.create), else to the draft's chosen recipient, else to the primary address, and records it as sentToEmail / sentToPhone. Automations sending without a choice use the same default rule; cancelled requires a reason code (price, timing, scope, duplicate, client_request, other) and optional reasonText; other statuses such as signed, paid, or expired are validated against the allowed transitions and rejected when not permitted. Requires an idempotency key and confirmation; transitions like sent or cancelled cannot be undone. Returns the updated contract.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateInput"},"examples":{"Cancel a contract at the client request":{"summary":"Cancel a contract at the client request","value":{"contractId":"3b9e6c1d-8f2a-4d7b-a5c4-9e1f0b2d6a83","nextStatus":"cancelled","reason":"client_request","reasonText":"Client postponed the project to next year."}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIGURATION_ERROR","when":"A required document or delivery adapter is not configured."},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."},{"code":"PDF_SEAL_FAILED","when":"The generated contract evidence could not be sealed.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"SANDBOX_REQUIRES_ACCOUNT","when":"A sandbox demo account cannot deliver documents; the runtime failure names sandbox.signup to start a real account.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIGURATION_ERROR","when":"A required document or delivery adapter is not configured."},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."},{"code":"PDF_SEAL_FAILED","when":"The generated contract evidence could not be sealed.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"SANDBOX_REQUIRES_ACCOUNT","when":"A sandbox demo account cannot deliver documents; the runtime failure names sandbox.signup to start a real account.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIGURATION_ERROR","when":"A required document or delivery adapter is not configured."},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."},{"code":"PDF_SEAL_FAILED","when":"The generated contract evidence could not be sealed.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"SANDBOX_REQUIRES_ACCOUNT","when":"A sandbox demo account cannot deliver documents; the runtime failure names sandbox.signup to start a real account.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIGURATION_ERROR","when":"A required document or delivery adapter is not configured."},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."},{"code":"PDF_SEAL_FAILED","when":"The generated contract evidence could not be sealed.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"SANDBOX_REQUIRES_ACCOUNT","when":"A sandbox demo account cannot deliver documents; the runtime failure names sandbox.signup to start a real account.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIGURATION_ERROR","when":"A required document or delivery adapter is not configured."},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."},{"code":"PDF_SEAL_FAILED","when":"The generated contract evidence could not be sealed.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"SANDBOX_REQUIRES_ACCOUNT","when":"A sandbox demo account cannot deliver documents; the runtime failure names sandbox.signup to start a real account.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIGURATION_ERROR","when":"A required document or delivery adapter is not configured."},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."},{"code":"PDF_SEAL_FAILED","when":"The generated contract evidence could not be sealed.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"SANDBOX_REQUIRES_ACCOUNT","when":"A sandbox demo account cannot deliver documents; the runtime failure names sandbox.signup to start a real account.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIGURATION_ERROR","when":"A required document or delivery adapter is not configured."},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."},{"code":"PDF_SEAL_FAILED","when":"The generated contract evidence could not be sealed.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"SANDBOX_REQUIRES_ACCOUNT","when":"A sandbox demo account cannot deliver documents; the runtime failure names sandbox.signup to start a real account.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIGURATION_ERROR","when":"A required document or delivery adapter is not configured."},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."},{"code":"PDF_SEAL_FAILED","when":"The generated contract evidence could not be sealed.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"SANDBOX_REQUIRES_ACCOUNT","when":"A sandbox demo account cannot deliver documents; the runtime failure names sandbox.signup to start a real account.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIGURATION_ERROR","when":"A required document or delivery adapter is not configured."},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."},{"code":"PDF_SEAL_FAILED","when":"The generated contract evidence could not be sealed.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"SANDBOX_REQUIRES_ACCOUNT","when":"A sandbox demo account cannot deliver documents; the runtime failure names sandbox.signup to start a real account.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"CONFIGURATION_ERROR","when":"A required document or delivery adapter is not configured."},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."},{"code":"PDF_SEAL_FAILED","when":"The generated contract evidence could not be sealed.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}},{"code":"SANDBOX_REQUIRES_ACCOUNT","when":"A sandbox demo account cannot deliver documents; the runtime failure names sandbox.signup to start a real account.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.status.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/contracts.templates.list":{"post":{"tags":["Operations: contracts"],"operationId":"contracts.templates.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"contracts.templates.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"contracts.templates.list","description":"Returns a paginated list of contract templates with name, status (draft, active, archived), variables, and signing checkboxes. Active templates are returned by default; filter by status, set includeArchived, or query by name, and pass cursor to continue. Pick a templateId from the result for contracts.previewDraft or contracts.createFromDraft. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsTemplatesListInput"},"examples":{"List active templates for the contract wizard":{"summary":"List active templates for the contract wizard","value":{"status":"active","limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsTemplatesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"contracts.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/contracts.workspace.summary.get":{"post":{"tags":["Operations: contracts"],"operationId":"contracts.workspace.summary.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"contracts.workspace.summary.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"contracts.workspace.summary.get","description":"Applies the same clientId, status, query, and filters as contracts.list and returns per-queue counts and totals for the attention queues the server derives (awaiting_signature, delivery_failed, partially_paid, overdue_unpaid, expiring_soon, warning_eligible, debt_collection_eligible). Each count equals the contracts.list totalCount for the same scope with that attention selected; queues never narrow each other. Use it to render workspace badges without paging through contracts. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetInput"},"examples":{"Attention counts for one client":{"summary":"Attention counts for one client","value":{"clientId":"d4b7f2e1-8c3a-4d9e-b6f5-1a2c3e4d5f60"}},"Attention counts for the filtered contracts list":{"summary":"Attention counts for the filtered contracts list","value":{"query":"retainer","filters":[{"type":"money","field":"totalGrossCents","operator":"greaterThan","value":100000}]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"contracts.workspace.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationContractsWorkspaceSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/crm.touchpoints.create":{"post":{"tags":["Operations: crm"],"operationId":"crm.touchpoints.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"crm.touchpoints.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"crm.touchpoints.create","description":"Checks that the selected client exists and can receive a touchpoint, then stores the signed-in user, channel, occurrence time and optional note in the timeline. It does not send a message or place a call.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateInput"},"examples":{"Record an off-system email follow-up":{"summary":"Record an off-system email follow-up","value":{"clientId":"20000000-0000-4000-8000-000000000001","channel":"email"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateOutput"},"examples":{"Record an off-system email follow-up":{"summary":"Record an off-system email follow-up","value":{"id":"30000000-0000-4000-8000-000000000001","clientId":"20000000-0000-4000-8000-000000000001","userId":null,"type":"email","title":"Email follow-up","description":null,"trigger":"unknown","event":"create","emailId":null,"phoneCallId":null,"fileId":null,"followUpId":null,"clientNoteId":null,"contractId":null,"meetingId":null,"paymentId":null,"paywiseClaimId":null,"statusFrom":null,"statusTo":null,"formEntryId":null,"formId":null,"actorType":null,"chatbotId":null,"chatbotConversationId":null,"bodyPreview":null,"occurredAt":"2026-10-01T09:00:00.000Z","createdAt":"2026-10-01T09:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM repository cannot verify the selected client.","recovery":{"operation":"crm.touchpoints.create","requiredFields":["clientId","channel"]}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account or was deleted.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_BLOCKED","when":"The client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM repository cannot verify the selected client.","recovery":{"operation":"crm.touchpoints.create","requiredFields":["clientId","channel"]}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account or was deleted.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_BLOCKED","when":"The client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM repository cannot verify the selected client.","recovery":{"operation":"crm.touchpoints.create","requiredFields":["clientId","channel"]}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account or was deleted.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_BLOCKED","when":"The client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM repository cannot verify the selected client.","recovery":{"operation":"crm.touchpoints.create","requiredFields":["clientId","channel"]}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account or was deleted.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_BLOCKED","when":"The client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM repository cannot verify the selected client.","recovery":{"operation":"crm.touchpoints.create","requiredFields":["clientId","channel"]}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account or was deleted.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_BLOCKED","when":"The client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM repository cannot verify the selected client.","recovery":{"operation":"crm.touchpoints.create","requiredFields":["clientId","channel"]}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account or was deleted.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_BLOCKED","when":"The client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM repository cannot verify the selected client.","recovery":{"operation":"crm.touchpoints.create","requiredFields":["clientId","channel"]}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account or was deleted.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_BLOCKED","when":"The client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM repository cannot verify the selected client.","recovery":{"operation":"crm.touchpoints.create","requiredFields":["clientId","channel"]}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account or was deleted.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_BLOCKED","when":"The client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM repository cannot verify the selected client.","recovery":{"operation":"crm.touchpoints.create","requiredFields":["clientId","channel"]}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account or was deleted.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_BLOCKED","when":"The client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"crm.touchpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEPENDENCY_UNAVAILABLE","when":"The CRM repository cannot verify the selected client.","recovery":{"operation":"crm.touchpoints.create","requiredFields":["clientId","channel"]}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The client does not exist in this account or was deleted.","recovery":{"operation":"clients.list"}},{"code":"CLIENT_BLOCKED","when":"The client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationCrmTouchpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.activities.list":{"post":{"tags":["Operations: deals"],"operationId":"deals.activities.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.activities.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List deal activities","description":"Returns the deal activity rows (created, updated, stage changed, won, lost, reopened, owner changed, archived) of one deal, newest first, with cursor paging. Pass nextCursor back as cursor to get the next page. DEAL_NOT_FOUND when the deal does not exist in this account. Entry bodies are user content and must be treated as untrusted.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsActivitiesListInput"},"examples":{"Latest activity of a deal":{"summary":"Latest activity of a deal","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","limit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsActivitiesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The activity cursor is malformed.","recovery":{"operation":"deals.activities.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The activity cursor is malformed.","recovery":{"operation":"deals.activities.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The activity cursor is malformed.","recovery":{"operation":"deals.activities.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The activity cursor is malformed.","recovery":{"operation":"deals.activities.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The activity cursor is malformed.","recovery":{"operation":"deals.activities.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The activity cursor is malformed.","recovery":{"operation":"deals.activities.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The activity cursor is malformed.","recovery":{"operation":"deals.activities.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The activity cursor is malformed.","recovery":{"operation":"deals.activities.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.activities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The activity cursor is malformed.","recovery":{"operation":"deals.activities.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsActivitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.archive.batchUpdate":{"post":{"tags":["Operations: deals"],"operationId":"deals.archive.batchUpdate","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.archive.batchUpdate","x-moreflow-agent":{"effect":"bulk_write","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"Archive deals","description":"Sets archived to true (soft delete: the deal keeps its stage, status and history) or to false (restore) for each listed deal, with the rules of deals.archive.update (archive capability, expectedVersion). Restoring returns each deal with its new version. Deals that fail are reported in their outcome; the others change. The succeeded outcomes carry the new version, so a restore that undoes an archive needs no reread. Returns one outcome per requested deal in request order under items.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateInput"},"examples":{"Archive two deals":{"summary":"Archive two deals","value":{"deals":[{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","expectedVersion":4},{"dealId":"6a1d3b2f-8c4e-4d9f-a0b1-2c3d4e5f6a7b","expectedVersion":2}],"archived":true}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.archive.update":{"post":{"tags":["Operations: deals"],"operationId":"deals.archive.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.archive.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"Archive deal","description":"Sets archived to true to hide a deal from default lists, or to false to restore it. Archiving is a soft delete: the deal keeps its stage, status and history and can be restored. expectedVersion must match the current deal version. Requires the deal archive capability.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateInput"},"examples":{"Archive a deal":{"summary":"Archive a deal","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","expectedVersion":4,"archived":true}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.archive.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsArchiveUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.comments.create":{"post":{"tags":["Operations: deals"],"operationId":"deals.comments.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.comments.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Comment on deal","description":"Adds a plain-text comment (1-5000 characters) to one deal. mentionedUserIds must be active account members (MENTION_NOT_MEMBER otherwise); each mentioned member other than the author receives a mention notification. Archived deals accept comments. DEAL_NOT_FOUND when the deal does not exist in this account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateInput"},"examples":{"Ask a teammate to review the contract":{"summary":"Ask a teammate to review the contract","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","body":"@Alex Smith can you review the contract draft before Friday?","mentionedUserIds":["7d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.comments.delete":{"post":{"tags":["Operations: deals"],"operationId":"deals.comments.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.comments.delete","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"Delete deal comment","description":"Deletes one comment permanently. The author, owners and admins may delete (FORBIDDEN with requiredCapability canDelete otherwise). DEAL_COMMENT_NOT_FOUND when it no longer exists.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteInput"},"examples":{"Remove a comment":{"summary":"Remove a comment","value":{"commentId":"0b8e7d6c-5a4f-4e3d-9c2b-1a0f9e8d7c6b"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.comments.list":{"post":{"tags":["Operations: deals"],"operationId":"deals.comments.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.comments.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List deal comments","description":"Returns the comments of one deal newest first with their author, mentioned user ids and the caller capabilities per comment (canEdit, canDelete), plus canComment for the deal. Pass nextCursor as cursor for older comments. DEAL_NOT_FOUND when the deal does not exist in this account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsListInput"},"examples":{"Read the latest comments of a deal":{"summary":"Read the latest comments of a deal","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","limit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"INVALID_CURSOR","when":"The cursor is malformed.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.comments.update":{"post":{"tags":["Operations: deals"],"operationId":"deals.comments.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.comments.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Edit deal comment","description":"Replaces body and, when given, mentionedUserIds of one comment (omitted keeps the stored mentions) and marks it edited. Only the author may edit (FORBIDDEN with requiredCapability canEdit otherwise). Members mentioned for the first time are notified; members already mentioned are not notified again.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateInput"},"examples":{"Fix a typo":{"summary":"Fix a typo","value":{"commentId":"0b8e7d6c-5a4f-4e3d-9c2b-1a0f9e8d7c6b","body":"Contract draft is attached in the files."}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.comments.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_COMMENT_NOT_FOUND","when":"The comment does not exist in this account or was deleted.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}},{"code":"MENTION_NOT_MEMBER","when":"A mentioned user is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only the comment author may edit it; the author, owners and admins may delete it.","recovery":{"operation":"deals.comments.list","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCommentsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.create":{"post":{"tags":["Operations: deals"],"operationId":"deals.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Create deal","description":"Creates an open deal linked to an existing client of the account. The deal is credited to the client’s latest touchpoint at or before its creation (source.status credited), or is untracked without one; sourceTouchpointId names the touch explicitly (source.status manual) and must be a touchpoint of the same client (otherwise NOT_FOUND or INVALID_ARGUMENT with context.reason touchpoint_not_found or touchpoint_client_mismatch, pointing to clients.touchpoints.list). pipelineId defaults to the default pipeline (else the first one) and stageId to its first open stage. ownerUserId defaults to the owner of the client when the caller may assign it (an active member), otherwise to the calling user for user actors and to unassigned for service actors. Sales members may create deals only for themselves or unassigned. Retrying with the same idempotency key returns the same deal without creating a duplicate. Returns the new deal.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateInput"},"examples":{"Open a deal for a client in the default pipeline":{"summary":"Open a deal for a client in the default pipeline","value":{"title":"Website redesign","clientId":"3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d","amountCents":450000,"currency":"EUR","expectedCloseDate":"2026-12-15"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"CLIENT_NOT_FOUND","when":"The client is missing or archived in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The pipeline has no open stage.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"CLIENT_NOT_FOUND","when":"The client is missing or archived in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The pipeline has no open stage.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"CLIENT_NOT_FOUND","when":"The client is missing or archived in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The pipeline has no open stage.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"CLIENT_NOT_FOUND","when":"The client is missing or archived in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The pipeline has no open stage.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"CLIENT_NOT_FOUND","when":"The client is missing or archived in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The pipeline has no open stage.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"CLIENT_NOT_FOUND","when":"The client is missing or archived in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The pipeline has no open stage.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"CLIENT_NOT_FOUND","when":"The client is missing or archived in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The pipeline has no open stage.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"CLIENT_NOT_FOUND","when":"The client is missing or archived in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The pipeline has no open stage.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"CLIENT_NOT_FOUND","when":"The client is missing or archived in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The pipeline has no open stage.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"CLIENT_NOT_FOUND","when":"The client is missing or archived in this account.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The pipeline has no open stage.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.forecast.get":{"post":{"tags":["Operations: deals"],"operationId":"deals.forecast.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.forecast.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read deal forecast","description":"Returns 1 to 12 consecutive account-local months starting at fromMonth (default: the current local month; months defaults to 6). Open deals bucket by expected close month with open and weighted amounts; won deals bucket by the local month they closed in, with won amounts. Open deals without an expected close date are reported as undated; open deals past their expected close date are reported as overdue and are not counted in a month. Every figure is grouped by currency and never summed across currencies. Archived deals are excluded.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsForecastGetInput"},"examples":{"Six-month forecast from the current month":{"summary":"Six-month forecast from the current month","value":{}},"Twelve months from January 2027 for the calling user":{"summary":"Twelve months from January 2027 for the calling user","value":{"fromMonth":"2027-01","months":12,"owner":"me"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsForecastGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.forecast.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsForecastGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.forecast.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsForecastGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.forecast.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsForecastGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.forecast.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsForecastGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.forecast.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsForecastGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.forecast.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsForecastGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.forecast.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsForecastGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.forecast.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsForecastGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.forecast.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.forecast.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsForecastGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.get":{"post":{"tags":["Operations: deals"],"operationId":"deals.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read deal","description":"Returns one deal of the account, including archived deals, with stage, client and owner summaries, the current version (required as expectedVersion by deals.update and deals.archive.update), the caller capabilities, the credited source touch (source) and the first-touch view (firstTouch: the client’s earliest touch at or before the deal’s creation). DEAL_NOT_FOUND when the deal does not exist in this account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsGetInput"},"examples":{"Read a deal":{"summary":"Read a deal","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.list":{"post":{"tags":["Operations: deals"],"operationId":"deals.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List deals","description":"Returns deals of the authenticated account, each with its stage, client and owner summaries and the caller capabilities (canEdit, canMove, canChangeOutcome, canChangeOwner, canArchive). Filter by pipeline, stage, status, owner (me, unassigned, or user ids), client, expected close date range, attention (overdue_close, stale_stage, unassigned), withoutNextStep (open deals with no open follow-up linked to the deal that the caller can see), inactiveForDays (open deals with no stage change, note, follow-up, message or call on the deal or its client for N days, 1 to 365), or title search. Archived deals are excluded unless includeArchived is true. Pass nextCursor back as cursor with the same filters and sort to get the next page; a cursor from a different query fails with INVALID_CURSOR.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsListInput"},"examples":{"My open deals closing this month":{"summary":"My open deals closing this month","value":{"owner":"me","statuses":["open"],"expectedCloseFromDate":"2026-10-01","expectedCloseToDate":"2026-10-31"}},"Unassigned deals needing attention":{"summary":"Unassigned deals needing attention","value":{"owner":"unassigned","attention":"unassigned","limit":50}},"Open deals with no next step or no activity for 14 days":{"summary":"Open deals with no next step or no activity for 14 days","value":{"withoutNextStep":true,"inactiveForDays":14,"limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another filter/sort query.","recovery":{"operation":"deals.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another filter/sort query.","recovery":{"operation":"deals.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another filter/sort query.","recovery":{"operation":"deals.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another filter/sort query.","recovery":{"operation":"deals.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another filter/sort query.","recovery":{"operation":"deals.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another filter/sort query.","recovery":{"operation":"deals.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another filter/sort query.","recovery":{"operation":"deals.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another filter/sort query.","recovery":{"operation":"deals.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another filter/sort query.","recovery":{"operation":"deals.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.outcome.batchUpdate":{"post":{"tags":["Operations: deals"],"operationId":"deals.outcome.batchUpdate","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.outcome.batchUpdate","x-moreflow-agent":{"effect":"bulk_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Set outcome of deals","description":"Marks each listed open deal won, or lost (lostReasonCode required, lostReasonText optional). Every deal is checked on its own with the rules of deals.outcome.update (outcome capability, not already in that outcome, valid lost reason). Deals that fail are reported in their outcome with the error code and recovery; the others change. Returns one outcome per requested deal in request order under items.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateInput"},"examples":{"Mark two deals lost for budget reasons":{"summary":"Mark two deals lost for budget reasons","value":{"deals":[{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","expectedVersion":4},{"dealId":"6a1d3b2f-8c4e-4d9f-a0b1-2c3d4e5f6a7b","expectedVersion":2}],"outcome":"lost","lostReasonCode":"no_budget"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_ALREADY_OPEN","when":"The deal is already open.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"LOST_REASON_REQUIRED","when":"Losing a deal requires an allowed lostReasonCode.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lostReasonText exceeds the maximum length.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode","lostReasonText"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_ALREADY_OPEN","when":"The deal is already open.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"LOST_REASON_REQUIRED","when":"Losing a deal requires an allowed lostReasonCode.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lostReasonText exceeds the maximum length.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode","lostReasonText"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_ALREADY_OPEN","when":"The deal is already open.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"LOST_REASON_REQUIRED","when":"Losing a deal requires an allowed lostReasonCode.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lostReasonText exceeds the maximum length.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode","lostReasonText"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_ALREADY_OPEN","when":"The deal is already open.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"LOST_REASON_REQUIRED","when":"Losing a deal requires an allowed lostReasonCode.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lostReasonText exceeds the maximum length.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode","lostReasonText"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_ALREADY_OPEN","when":"The deal is already open.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"LOST_REASON_REQUIRED","when":"Losing a deal requires an allowed lostReasonCode.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lostReasonText exceeds the maximum length.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode","lostReasonText"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_ALREADY_OPEN","when":"The deal is already open.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"LOST_REASON_REQUIRED","when":"Losing a deal requires an allowed lostReasonCode.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lostReasonText exceeds the maximum length.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode","lostReasonText"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_ALREADY_OPEN","when":"The deal is already open.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"LOST_REASON_REQUIRED","when":"Losing a deal requires an allowed lostReasonCode.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lostReasonText exceeds the maximum length.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode","lostReasonText"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_ALREADY_OPEN","when":"The deal is already open.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"LOST_REASON_REQUIRED","when":"Losing a deal requires an allowed lostReasonCode.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lostReasonText exceeds the maximum length.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode","lostReasonText"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_ALREADY_OPEN","when":"The deal is already open.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"LOST_REASON_REQUIRED","when":"Losing a deal requires an allowed lostReasonCode.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lostReasonText exceeds the maximum length.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode","lostReasonText"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_ALREADY_OPEN","when":"The deal is already open.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"LOST_REASON_REQUIRED","when":"Losing a deal requires an allowed lostReasonCode.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lostReasonText exceeds the maximum length.","recovery":{"operation":"deals.outcome.batchUpdate","args":{"outcome":"lost"},"requiredFields":["deals","lostReasonCode","lostReasonText"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.outcome.update":{"post":{"tags":["Operations: deals"],"operationId":"deals.outcome.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.outcome.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Set deal outcome","description":"Sets the outcome of one deal: won, lost (requires lostReasonCode, optional lostReasonText) or open (reopens a won or lost deal). The deal keeps its last stage, so reopening returns it to that stage. Win and loss set closedAt; reopening clears closedAt and the lost reason. expectedVersion must match deals.get. Requires the outcome capability.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateInput"},"examples":{"Mark a deal as lost":{"summary":"Mark a deal as lost","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","expectedVersion":4,"outcome":"lost","lostReasonCode":"no_budget","lostReasonText":"Budget moved to next year."}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"LOST_REASON_REQUIRED","when":"A lost outcome requires an allowed lost reason.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lost reason text exceeds the domain limit.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode","lostReasonText"]}},{"code":"DEAL_ALREADY_OPEN","when":"The requested reopen targets an already open deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"LOST_REASON_REQUIRED","when":"A lost outcome requires an allowed lost reason.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lost reason text exceeds the domain limit.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode","lostReasonText"]}},{"code":"DEAL_ALREADY_OPEN","when":"The requested reopen targets an already open deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"LOST_REASON_REQUIRED","when":"A lost outcome requires an allowed lost reason.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lost reason text exceeds the domain limit.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode","lostReasonText"]}},{"code":"DEAL_ALREADY_OPEN","when":"The requested reopen targets an already open deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"LOST_REASON_REQUIRED","when":"A lost outcome requires an allowed lost reason.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lost reason text exceeds the domain limit.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode","lostReasonText"]}},{"code":"DEAL_ALREADY_OPEN","when":"The requested reopen targets an already open deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"LOST_REASON_REQUIRED","when":"A lost outcome requires an allowed lost reason.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lost reason text exceeds the domain limit.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode","lostReasonText"]}},{"code":"DEAL_ALREADY_OPEN","when":"The requested reopen targets an already open deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"LOST_REASON_REQUIRED","when":"A lost outcome requires an allowed lost reason.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lost reason text exceeds the domain limit.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode","lostReasonText"]}},{"code":"DEAL_ALREADY_OPEN","when":"The requested reopen targets an already open deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"LOST_REASON_REQUIRED","when":"A lost outcome requires an allowed lost reason.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lost reason text exceeds the domain limit.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode","lostReasonText"]}},{"code":"DEAL_ALREADY_OPEN","when":"The requested reopen targets an already open deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"LOST_REASON_REQUIRED","when":"A lost outcome requires an allowed lost reason.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lost reason text exceeds the domain limit.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode","lostReasonText"]}},{"code":"DEAL_ALREADY_OPEN","when":"The requested reopen targets an already open deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"LOST_REASON_REQUIRED","when":"A lost outcome requires an allowed lost reason.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lost reason text exceeds the domain limit.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode","lostReasonText"]}},{"code":"DEAL_ALREADY_OPEN","when":"The requested reopen targets an already open deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"LOST_REASON_REQUIRED","when":"A lost outcome requires an allowed lost reason.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode"]}},{"code":"LOST_REASON_TEXT_TOO_LONG","when":"The lost reason text exceeds the domain limit.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"lost"},"requiredFields":["dealId","expectedVersion","lostReasonCode","lostReasonText"]}},{"code":"DEAL_ALREADY_OPEN","when":"The requested reopen targets an already open deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_OUTCOME_UNCHANGED","when":"The deal already has the requested outcome.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.owner.batchUpdate":{"post":{"tags":["Operations: deals"],"operationId":"deals.owner.batchUpdate","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.owner.batchUpdate","x-moreflow-agent":{"effect":"bulk_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Set owner of deals","description":"Sets the owner of each listed deal to an active account member, or to null to unassign them. Every deal is checked on its own with the rules of deals.owner.update (change-owner capability, sales members may only claim unassigned deals or hand off their own, the owner must be an active member). Deals that fail are reported in their outcome; the others change. Returns one outcome per requested deal in request order under items.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateInput"},"examples":{"Hand three deals to a colleague":{"summary":"Hand three deals to a colleague","value":{"deals":[{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","expectedVersion":3},{"dealId":"6a1d3b2f-8c4e-4d9f-a0b1-2c3d4e5f6a7b","expectedVersion":1}],"ownerUserId":"10000000-0000-4000-8000-000000000003"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The owner must be an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The owner must be an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The owner must be an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The owner must be an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The owner must be an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The owner must be an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The owner must be an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The owner must be an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The owner must be an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The owner must be an active member of the account.","recovery":{"operation":"users.memberships.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.owner.update":{"post":{"tags":["Operations: deals"],"operationId":"deals.owner.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.owner.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Set deal owner","description":"Sets the owner of one deal to an active account member, or to null to unassign it (assignDeal). Sales members may claim an unassigned deal for themselves and hand off their own deal to any active member. Owners and admins may assign any deal to any active member. ownerUserId must be an active member of the account (OWNER_NOT_MEMBER otherwise). expectedVersion must match deals.get.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateInput"},"examples":{"Hand a deal off to a colleague":{"summary":"Hand a deal off to a colleague","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","expectedVersion":5,"ownerUserId":"10000000-0000-4000-8000-000000000003"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.owner.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"OWNER_NOT_MEMBER","when":"The requested owner is not an active member of the account.","recovery":{"operation":"users.memberships.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsOwnerUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.pipelines.create":{"post":{"tags":["Operations: deals"],"operationId":"deals.pipelines.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.pipelines.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Create deal pipeline","description":"Creates a pipeline with at least one stage. Stages are created in the given order with their win probability (0-100); all of them are open. The new pipeline is not the default; use deals.settings.update defaultPipelineId to change that. Pipeline and stage names are unique. Requires the canManagePipelines capability.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateInput"},"examples":{"Create a partner pipeline":{"summary":"Create a partner pipeline","value":{"name":"Partner sales","stages":[{"name":"Lead","probability":10},{"name":"Demo booked","probability":40},{"name":"Contract","probability":80}]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NAME_TAKEN","when":"A pipeline with the submitted name already exists.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Initial stage names repeat within the request.","recovery":{"operation":"deals.pipelines.create","requiredFields":["name","stages"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NAME_TAKEN","when":"A pipeline with the submitted name already exists.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Initial stage names repeat within the request.","recovery":{"operation":"deals.pipelines.create","requiredFields":["name","stages"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NAME_TAKEN","when":"A pipeline with the submitted name already exists.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Initial stage names repeat within the request.","recovery":{"operation":"deals.pipelines.create","requiredFields":["name","stages"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NAME_TAKEN","when":"A pipeline with the submitted name already exists.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Initial stage names repeat within the request.","recovery":{"operation":"deals.pipelines.create","requiredFields":["name","stages"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NAME_TAKEN","when":"A pipeline with the submitted name already exists.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Initial stage names repeat within the request.","recovery":{"operation":"deals.pipelines.create","requiredFields":["name","stages"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NAME_TAKEN","when":"A pipeline with the submitted name already exists.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Initial stage names repeat within the request.","recovery":{"operation":"deals.pipelines.create","requiredFields":["name","stages"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NAME_TAKEN","when":"A pipeline with the submitted name already exists.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Initial stage names repeat within the request.","recovery":{"operation":"deals.pipelines.create","requiredFields":["name","stages"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NAME_TAKEN","when":"A pipeline with the submitted name already exists.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Initial stage names repeat within the request.","recovery":{"operation":"deals.pipelines.create","requiredFields":["name","stages"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NAME_TAKEN","when":"A pipeline with the submitted name already exists.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Initial stage names repeat within the request.","recovery":{"operation":"deals.pipelines.create","requiredFields":["name","stages"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NAME_TAKEN","when":"A pipeline with the submitted name already exists.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Initial stage names repeat within the request.","recovery":{"operation":"deals.pipelines.create","requiredFields":["name","stages"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.pipelines.delete":{"post":{"tags":["Operations: deals"],"operationId":"deals.pipelines.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.pipelines.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"Delete deal pipeline","description":"Deletes a pipeline and its stages. Every deal in the pipeline (open, won, lost and archived) must move: pass moveDealsToStageId with a stage of another pipeline; without it, PIPELINE_HAS_DEALS reports referencingDealCount. Status, outcome and activity history are kept. The default pipeline cannot be deleted (PIPELINE_IS_DEFAULT); make another pipeline the default first. Requires the canManagePipelines capability.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteInput"},"examples":{"Delete a pipeline and move its deals into Sales":{"summary":"Delete a pipeline and move its deals into Sales","value":{"pipelineId":"3a7e9c1b-4d2f-4e8a-9b6c-1f0e2d3c4b5a","moveDealsToStageId":"2c4e6a8b-0d1f-4b3a-9c5e-7f8a9b0c1d2e"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_IS_DEFAULT","when":"The default pipeline must first be replaced.","recovery":{"operation":"deals.pipelines.update","args":{"default":true},"requiredFields":["pipelineId"]}},{"code":"PIPELINE_HAS_DEALS","when":"Deals still reference the pipeline; a replacement stage is required.","recovery":{"operation":"deals.pipelines.delete","requiredFields":["pipelineId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or in the deleted pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_IS_DEFAULT","when":"The default pipeline must first be replaced.","recovery":{"operation":"deals.pipelines.update","args":{"default":true},"requiredFields":["pipelineId"]}},{"code":"PIPELINE_HAS_DEALS","when":"Deals still reference the pipeline; a replacement stage is required.","recovery":{"operation":"deals.pipelines.delete","requiredFields":["pipelineId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or in the deleted pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_IS_DEFAULT","when":"The default pipeline must first be replaced.","recovery":{"operation":"deals.pipelines.update","args":{"default":true},"requiredFields":["pipelineId"]}},{"code":"PIPELINE_HAS_DEALS","when":"Deals still reference the pipeline; a replacement stage is required.","recovery":{"operation":"deals.pipelines.delete","requiredFields":["pipelineId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or in the deleted pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_IS_DEFAULT","when":"The default pipeline must first be replaced.","recovery":{"operation":"deals.pipelines.update","args":{"default":true},"requiredFields":["pipelineId"]}},{"code":"PIPELINE_HAS_DEALS","when":"Deals still reference the pipeline; a replacement stage is required.","recovery":{"operation":"deals.pipelines.delete","requiredFields":["pipelineId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or in the deleted pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_IS_DEFAULT","when":"The default pipeline must first be replaced.","recovery":{"operation":"deals.pipelines.update","args":{"default":true},"requiredFields":["pipelineId"]}},{"code":"PIPELINE_HAS_DEALS","when":"Deals still reference the pipeline; a replacement stage is required.","recovery":{"operation":"deals.pipelines.delete","requiredFields":["pipelineId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or in the deleted pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_IS_DEFAULT","when":"The default pipeline must first be replaced.","recovery":{"operation":"deals.pipelines.update","args":{"default":true},"requiredFields":["pipelineId"]}},{"code":"PIPELINE_HAS_DEALS","when":"Deals still reference the pipeline; a replacement stage is required.","recovery":{"operation":"deals.pipelines.delete","requiredFields":["pipelineId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or in the deleted pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_IS_DEFAULT","when":"The default pipeline must first be replaced.","recovery":{"operation":"deals.pipelines.update","args":{"default":true},"requiredFields":["pipelineId"]}},{"code":"PIPELINE_HAS_DEALS","when":"Deals still reference the pipeline; a replacement stage is required.","recovery":{"operation":"deals.pipelines.delete","requiredFields":["pipelineId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or in the deleted pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_IS_DEFAULT","when":"The default pipeline must first be replaced.","recovery":{"operation":"deals.pipelines.update","args":{"default":true},"requiredFields":["pipelineId"]}},{"code":"PIPELINE_HAS_DEALS","when":"Deals still reference the pipeline; a replacement stage is required.","recovery":{"operation":"deals.pipelines.delete","requiredFields":["pipelineId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or in the deleted pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_IS_DEFAULT","when":"The default pipeline must first be replaced.","recovery":{"operation":"deals.pipelines.update","args":{"default":true},"requiredFields":["pipelineId"]}},{"code":"PIPELINE_HAS_DEALS","when":"Deals still reference the pipeline; a replacement stage is required.","recovery":{"operation":"deals.pipelines.delete","requiredFields":["pipelineId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or in the deleted pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_IS_DEFAULT","when":"The default pipeline must first be replaced.","recovery":{"operation":"deals.pipelines.update","args":{"default":true},"requiredFields":["pipelineId"]}},{"code":"PIPELINE_HAS_DEALS","when":"Deals still reference the pipeline; a replacement stage is required.","recovery":{"operation":"deals.pipelines.delete","requiredFields":["pipelineId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or in the deleted pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.pipelines.get":{"post":{"tags":["Operations: deals"],"operationId":"deals.pipelines.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.pipelines.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read deal pipeline","description":"Returns a pipeline with its ordered stages and, for each stage, dealCount: every deal referencing the stage, including won, lost and archived deals. Use dealCount to decide whether a delete needs moveDealsToStageId. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesGetInput"},"examples":{"Read a pipeline before reordering its stages":{"summary":"Read a pipeline before reordering its stages","value":{"pipelineId":"3a7e9c1b-4d2f-4e8a-9b6c-1f0e2d3c4b5a"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.pipelines.list":{"post":{"tags":["Operations: deals"],"operationId":"deals.pipelines.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.pipelines.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List deal pipelines","description":"Returns every pipeline of the account ordered by position, each with its ordered stages (id, name, position, probability, won, lost) and capabilities.canManage. The default pipeline has default=true. Use the ids for deal operations; deals.pipelines.get adds per-stage deal counts. Use nextCursor and limit to page through the ordered pipelines.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesListInput"},"examples":{"Show the pipelines for a deal board":{"summary":"Show the pipelines for a deal board","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The pipeline cursor is malformed.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The pipeline cursor is malformed.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The pipeline cursor is malformed.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The pipeline cursor is malformed.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The pipeline cursor is malformed.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The pipeline cursor is malformed.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The pipeline cursor is malformed.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The pipeline cursor is malformed.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The pipeline cursor is malformed.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.pipelines.stages.create":{"post":{"tags":["Operations: deals"],"operationId":"deals.pipelines.stages.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.pipelines.stages.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Create deal stage","description":"Creates an open stage with a win probability (0-100) in the pipeline. Without position the stage is appended; with position it is inserted at that zero-based index and the other stages shift. Stage names are unique within the pipeline. Requires the canManagePipelines capability.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateInput"},"examples":{"Add a proposal stage at 60 percent":{"summary":"Add a proposal stage at 60 percent","value":{"pipelineId":"3a7e9c1b-4d2f-4e8a-9b6c-1f0e2d3c4b5a","name":"Proposal sent","probability":60}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"A stage with that name already exists in the pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"A stage with that name already exists in the pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"A stage with that name already exists in the pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"A stage with that name already exists in the pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"A stage with that name already exists in the pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"A stage with that name already exists in the pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"A stage with that name already exists in the pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"A stage with that name already exists in the pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"A stage with that name already exists in the pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"A stage with that name already exists in the pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.pipelines.stages.delete":{"post":{"tags":["Operations: deals"],"operationId":"deals.pipelines.stages.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.pipelines.stages.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"Delete deal stage","description":"Deletes a stage. Every deal that references the stage (open, won, lost and archived) must move: pass moveDealsToStageId with another stage. Only the stage placement changes; status, outcome and activity history are kept. Refused when the stage is the last open stage of its pipeline (LAST_OPEN_STAGE). Requires the canManagePipelines capability.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteInput"},"examples":{"Delete a stage and move its deals to Negotiation":{"summary":"Delete a stage and move its deals to Negotiation","value":{"pipelineId":"3a7e9c1b-4d2f-4e8a-9b6c-1f0e2d3c4b5a","stageId":"9b2d4f6a-1c3e-4a5b-8d7f-0e9a8b7c6d5e","moveDealsToStageId":"2c4e6a8b-0d1f-4b3a-9c5e-7f8a9b0c1d2e"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"LAST_OPEN_STAGE","when":"Deleting the last open stage would prevent open deals.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}},{"code":"STAGE_HAS_DEALS","when":"Referenced deals require a replacement stage.","recovery":{"operation":"deals.pipelines.stages.delete","requiredFields":["pipelineId","stageId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or the deleted stage itself.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"LAST_OPEN_STAGE","when":"Deleting the last open stage would prevent open deals.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}},{"code":"STAGE_HAS_DEALS","when":"Referenced deals require a replacement stage.","recovery":{"operation":"deals.pipelines.stages.delete","requiredFields":["pipelineId","stageId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or the deleted stage itself.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"LAST_OPEN_STAGE","when":"Deleting the last open stage would prevent open deals.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}},{"code":"STAGE_HAS_DEALS","when":"Referenced deals require a replacement stage.","recovery":{"operation":"deals.pipelines.stages.delete","requiredFields":["pipelineId","stageId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or the deleted stage itself.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"LAST_OPEN_STAGE","when":"Deleting the last open stage would prevent open deals.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}},{"code":"STAGE_HAS_DEALS","when":"Referenced deals require a replacement stage.","recovery":{"operation":"deals.pipelines.stages.delete","requiredFields":["pipelineId","stageId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or the deleted stage itself.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"LAST_OPEN_STAGE","when":"Deleting the last open stage would prevent open deals.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}},{"code":"STAGE_HAS_DEALS","when":"Referenced deals require a replacement stage.","recovery":{"operation":"deals.pipelines.stages.delete","requiredFields":["pipelineId","stageId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or the deleted stage itself.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"LAST_OPEN_STAGE","when":"Deleting the last open stage would prevent open deals.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}},{"code":"STAGE_HAS_DEALS","when":"Referenced deals require a replacement stage.","recovery":{"operation":"deals.pipelines.stages.delete","requiredFields":["pipelineId","stageId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or the deleted stage itself.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"LAST_OPEN_STAGE","when":"Deleting the last open stage would prevent open deals.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}},{"code":"STAGE_HAS_DEALS","when":"Referenced deals require a replacement stage.","recovery":{"operation":"deals.pipelines.stages.delete","requiredFields":["pipelineId","stageId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or the deleted stage itself.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"LAST_OPEN_STAGE","when":"Deleting the last open stage would prevent open deals.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}},{"code":"STAGE_HAS_DEALS","when":"Referenced deals require a replacement stage.","recovery":{"operation":"deals.pipelines.stages.delete","requiredFields":["pipelineId","stageId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or the deleted stage itself.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"LAST_OPEN_STAGE","when":"Deleting the last open stage would prevent open deals.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}},{"code":"STAGE_HAS_DEALS","when":"Referenced deals require a replacement stage.","recovery":{"operation":"deals.pipelines.stages.delete","requiredFields":["pipelineId","stageId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or the deleted stage itself.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"LAST_OPEN_STAGE","when":"Deleting the last open stage would prevent open deals.","recovery":{"operation":"deals.pipelines.stages.create","requiredFields":["pipelineId","name","probability"]}},{"code":"STAGE_HAS_DEALS","when":"Referenced deals require a replacement stage.","recovery":{"operation":"deals.pipelines.stages.delete","requiredFields":["pipelineId","stageId","moveDealsToStageId"]}},{"code":"REPLACEMENT_STAGE_INVALID","when":"The replacement stage is missing or the deleted stage itself.","recovery":{"operation":"deals.pipelines.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.pipelines.stages.update":{"post":{"tags":["Operations: deals"],"operationId":"deals.pipelines.stages.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.pipelines.stages.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Update deal stage","description":"Updates the name and/or probability (0-100) of a stage. Changing the probability affects forecasts of open deals in the stage. Stage order is changed with deals.pipelines.update stageOrder. Requires the canManagePipelines capability.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateInput"},"examples":{"Raise the probability of a stage":{"summary":"Raise the probability of a stage","value":{"pipelineId":"3a7e9c1b-4d2f-4e8a-9b6c-1f0e2d3c4b5a","stageId":"9b2d4f6a-1c3e-4a5b-8d7f-0e9a8b7c6d5e","probability":80}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist in the account.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Another stage in the pipeline uses the name.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist in the account.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Another stage in the pipeline uses the name.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist in the account.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Another stage in the pipeline uses the name.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist in the account.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Another stage in the pipeline uses the name.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist in the account.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Another stage in the pipeline uses the name.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist in the account.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Another stage in the pipeline uses the name.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist in the account.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Another stage in the pipeline uses the name.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist in the account.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Another stage in the pipeline uses the name.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist in the account.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Another stage in the pipeline uses the name.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.stages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STAGE_NOT_FOUND","when":"The stage does not exist in the account.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_NAME_TAKEN","when":"Another stage in the pipeline uses the name.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesStagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.pipelines.update":{"post":{"tags":["Operations: deals"],"operationId":"deals.pipelines.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.pipelines.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Update deal pipeline","description":"Changes any combination of name, default (true only; the previous default is cleared) and stageOrder. stageOrder must list every stage id of the pipeline exactly once in the new order; otherwise STAGE_ORDER_MISMATCH is returned with the expected ids, and nothing is written. Requires the canManagePipelines capability.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateInput"},"examples":{"Reorder the stages of a pipeline":{"summary":"Reorder the stages of a pipeline","value":{"pipelineId":"3a7e9c1b-4d2f-4e8a-9b6c-1f0e2d3c4b5a","stageOrder":["2c4e6a8b-0d1f-4b3a-9c5e-7f8a9b0c1d2e","9b2d4f6a-1c3e-4a5b-8d7f-0e9a8b7c6d5e"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_NAME_TAKEN","when":"Another pipeline uses the submitted name.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_ORDER_MISMATCH","when":"stageOrder does not contain each current stage exactly once.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_NAME_TAKEN","when":"Another pipeline uses the submitted name.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_ORDER_MISMATCH","when":"stageOrder does not contain each current stage exactly once.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_NAME_TAKEN","when":"Another pipeline uses the submitted name.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_ORDER_MISMATCH","when":"stageOrder does not contain each current stage exactly once.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_NAME_TAKEN","when":"Another pipeline uses the submitted name.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_ORDER_MISMATCH","when":"stageOrder does not contain each current stage exactly once.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_NAME_TAKEN","when":"Another pipeline uses the submitted name.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_ORDER_MISMATCH","when":"stageOrder does not contain each current stage exactly once.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_NAME_TAKEN","when":"Another pipeline uses the submitted name.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_ORDER_MISMATCH","when":"stageOrder does not contain each current stage exactly once.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_NAME_TAKEN","when":"Another pipeline uses the submitted name.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_ORDER_MISMATCH","when":"stageOrder does not contain each current stage exactly once.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_NAME_TAKEN","when":"Another pipeline uses the submitted name.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_ORDER_MISMATCH","when":"stageOrder does not contain each current stage exactly once.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_NAME_TAKEN","when":"Another pipeline uses the submitted name.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_ORDER_MISMATCH","when":"stageOrder does not contain each current stage exactly once.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.pipelines.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"PIPELINE_NOT_FOUND","when":"The selected pipeline does not exist, or the account has no pipeline.","recovery":{"operation":"deals.pipelines.list"}},{"code":"PIPELINE_NAME_TAKEN","when":"Another pipeline uses the submitted name.","recovery":{"operation":"deals.pipelines.list"}},{"code":"STAGE_ORDER_MISMATCH","when":"stageOrder does not contain each current stage exactly once.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsPipelinesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.revenue.get":{"post":{"tags":["Operations: deals"],"operationId":"deals.revenue.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.revenue.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read deal revenue","description":"Returns per currency the signed revenue (linked contracts that are signed and not cancelled, declined, withdrawn, expired or deleted, plus accepted linked offers that generated no contract) and the collected revenue (succeeded payments net of refunds, plus the unrefunded part of refunded payments, of the linked contracts and offers, including payments of their invoices and installment plans). Also lists the most recent linked contracts and offers. Amounts are never summed across currencies. DEAL_NOT_FOUND when the deal does not exist in this account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsRevenueGetInput"},"examples":{"Read what a deal earned":{"summary":"Read what a deal earned","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","recordsLimit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsRevenueGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsRevenueGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsRevenueGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsRevenueGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsRevenueGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsRevenueGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsRevenueGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsRevenueGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsRevenueGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.revenue.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsRevenueGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.settings.get":{"post":{"tags":["Operations: deals"],"operationId":"deals.settings.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.settings.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read deal settings","description":"Returns the default pipeline id (the default pipeline, else the first one; null when the account has no pipeline yet), the number of pipelines, and the caller capabilities canManageSettings, canManagePipelines, canCreateDeals and canManageAllDeals. Clients show management controls only when the matching capability is true. This read never creates or changes data.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSettingsGetInput"},"examples":{"Read deal settings":{"summary":"Read deal settings","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSettingsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.source.update":{"post":{"tags":["Operations: deals"],"operationId":"deals.source.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.source.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Change deal source","description":"Replaces the deal’s source with a touchpoint of the deal’s client, or clears it with sourceTouchpointId null. The deal keeps a snapshot of the touch (channel, campaign, UTM values, ad ids, click ids, touch date), so later ledger changes never alter it; the source status becomes manual. A touchpoint of another client returns INVALID_ARGUMENT and an unknown one NOT_FOUND (context.reason touchpoint_client_mismatch or touchpoint_not_found), both pointing to clients.touchpoints.list. expectedVersion must match the deal version from deals.get. Archived deals must be restored first. Requires the deal edit capability.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateInput"},"examples":{"Credit the retargeting touch":{"summary":"Credit the retargeting touch","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","expectedVersion":3,"sourceTouchpointId":"8d4e2f1a-3b5c-4d6e-9f7a-1b2c3d4e5f60"}},"Record that a deal had no marketing source":{"summary":"Record that a deal had no marketing source","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","expectedVersion":3,"sourceTouchpointId":null}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_HAS_NO_CLIENT","when":"The deal has no client, so no touchpoint can be credited.","recovery":{"operation":"deals.update","requiredFields":["dealId","expectedVersion","clientId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the deal edit capability.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_HAS_NO_CLIENT","when":"The deal has no client, so no touchpoint can be credited.","recovery":{"operation":"deals.update","requiredFields":["dealId","expectedVersion","clientId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the deal edit capability.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_HAS_NO_CLIENT","when":"The deal has no client, so no touchpoint can be credited.","recovery":{"operation":"deals.update","requiredFields":["dealId","expectedVersion","clientId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the deal edit capability.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_HAS_NO_CLIENT","when":"The deal has no client, so no touchpoint can be credited.","recovery":{"operation":"deals.update","requiredFields":["dealId","expectedVersion","clientId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the deal edit capability.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_HAS_NO_CLIENT","when":"The deal has no client, so no touchpoint can be credited.","recovery":{"operation":"deals.update","requiredFields":["dealId","expectedVersion","clientId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the deal edit capability.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_HAS_NO_CLIENT","when":"The deal has no client, so no touchpoint can be credited.","recovery":{"operation":"deals.update","requiredFields":["dealId","expectedVersion","clientId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the deal edit capability.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_HAS_NO_CLIENT","when":"The deal has no client, so no touchpoint can be credited.","recovery":{"operation":"deals.update","requiredFields":["dealId","expectedVersion","clientId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the deal edit capability.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_HAS_NO_CLIENT","when":"The deal has no client, so no touchpoint can be credited.","recovery":{"operation":"deals.update","requiredFields":["dealId","expectedVersion","clientId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the deal edit capability.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_HAS_NO_CLIENT","when":"The deal has no client, so no touchpoint can be credited.","recovery":{"operation":"deals.update","requiredFields":["dealId","expectedVersion","clientId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the deal edit capability.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.source.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_HAS_NO_CLIENT","when":"The deal has no client, so no touchpoint can be credited.","recovery":{"operation":"deals.update","requiredFields":["dealId","expectedVersion","clientId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the deal edit capability.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.sourceReport.get":{"post":{"tags":["Operations: deals"],"operationId":"deals.sourceReport.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"deals.sourceReport.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read deal source report","description":"Groups the non-archived deals of the window [dateFrom, dateTo) by the touch credited with producing them. model deal_touch (default) uses the touch stored on the deal (its client’s latest touch at or before the deal’s creation, or a manual choice from deals.source.update); first_touch uses the client’s first touch at or before the deal’s creation. groupBy channel (default) or campaign. Per row: dealsCreated (created in the window), wonDeals and wonValueCents (won with a close date in the window, whenever created), openPipelineCents (created in the window and still open), collectedRevenueCents (collected to date, net of refunds, on the linked contracts and offers of those deals), spendCents (persisted ad spend of the window’s calendar days in the account time zone, matched by channel and campaign id), costPerWonDealCents and roas (collected revenue / spend) plus wonValueRoas. Deals without a touch form the untracked row (key null); coverage gives the credited share. The rows add up to totals. Money counts only the report currency (default EUR); other currencies are listed in otherCurrencies. Pass drillDown.key (a row key, or null for untracked) to also list that row’s deals.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceReportGetInput"},"examples":{"Won deals by channel this quarter":{"summary":"Won deals by channel this quarter","value":{"dateFrom":"2026-10-01T00:00:00.000Z","dateTo":"2027-01-01T00:00:00.000Z"}},"Google campaigns by first touch, with the deals of one campaign":{"summary":"Google campaigns by first touch, with the deals of one campaign","value":{"dateFrom":"2026-07-01T00:00:00.000Z","dateTo":"2026-10-01T00:00:00.000Z","model":"first_touch","groupBy":"campaign","channel":"google","drillDown":{"key":"google:123456789"}}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceReportGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. dateTo is not after dateFrom, or the window spans more than 370 days.","recovery":{"operation":"deals.sourceReport.get","requiredFields":["dateFrom","dateTo"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceReportGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. dateTo is not after dateFrom, or the window spans more than 370 days.","recovery":{"operation":"deals.sourceReport.get","requiredFields":["dateFrom","dateTo"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceReportGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. dateTo is not after dateFrom, or the window spans more than 370 days.","recovery":{"operation":"deals.sourceReport.get","requiredFields":["dateFrom","dateTo"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceReportGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. dateTo is not after dateFrom, or the window spans more than 370 days.","recovery":{"operation":"deals.sourceReport.get","requiredFields":["dateFrom","dateTo"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceReportGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. dateTo is not after dateFrom, or the window spans more than 370 days.","recovery":{"operation":"deals.sourceReport.get","requiredFields":["dateFrom","dateTo"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceReportGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. dateTo is not after dateFrom, or the window spans more than 370 days.","recovery":{"operation":"deals.sourceReport.get","requiredFields":["dateFrom","dateTo"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceReportGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. dateTo is not after dateFrom, or the window spans more than 370 days.","recovery":{"operation":"deals.sourceReport.get","requiredFields":["dateFrom","dateTo"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceReportGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. dateTo is not after dateFrom, or the window spans more than 370 days.","recovery":{"operation":"deals.sourceReport.get","requiredFields":["dateFrom","dateTo"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceReportGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.sourceReport.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. dateTo is not after dateFrom, or the window spans more than 370 days.","recovery":{"operation":"deals.sourceReport.get","requiredFields":["dateFrom","dateTo"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSourceReportGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.stage.batchUpdate":{"post":{"tags":["Operations: deals"],"operationId":"deals.stage.batchUpdate","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.stage.batchUpdate","x-moreflow-agent":{"effect":"bulk_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Move deals to a stage","description":"Moves each listed deal to the stage, or to a stage of another pipeline when pipelineId is given. Every deal is checked on its own with the rules of deals.stage.update (move capability, open deal, open target stage of the target pipeline, expectedVersion). Deals that fail are reported in their outcome with the error code and recovery; the other deals still move. Returns one outcome per requested deal in request order under items.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateInput"},"examples":{"Move three deals to the proposal stage":{"summary":"Move three deals to the proposal stage","value":{"deals":[{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","expectedVersion":3},{"dealId":"6a1d3b2f-8c4e-4d9f-a0b1-2c3d4e5f6a7b","expectedVersion":1}],"stageId":"40000000-0000-4000-8000-000000000002"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals can be moved between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals can be moved between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals can be moved between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals can be moved between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals can be moved between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals can be moved between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals can be moved between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals can be moved between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals can be moved between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.batchUpdate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"The deal changed since it was read; reload it and retry with the current version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"The deal is archived and cannot be changed; restore it first.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals can be moved between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the capability for this change on the deal.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageBatchUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.stage.update":{"post":{"tags":["Operations: deals"],"operationId":"deals.stage.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.stage.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Move deal stage","description":"Moves one open deal to a stage of its pipeline, or of another pipeline when pipelineId is given (cross-pipeline moves are allowed). The target must be an open stage. Won or lost deals are reopened first with deals.outcome.update. expectedVersion must match deals.get. Requires the move capability (sales members may move own or unassigned deals). Returns the updated deal.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateInput"},"examples":{"Move a deal to the proposal stage":{"summary":"Move a deal to the proposal stage","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","expectedVersion":3,"stageId":"40000000-0000-4000-8000-000000000003"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals may move between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals may move between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals may move between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals may move between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals may move between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals may move between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals may move between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals may move between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals may move between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.stage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"STAGE_NOT_IN_PIPELINE","when":"The selected stage is not an open stage of the target pipeline.","recovery":{"operation":"deals.pipelines.get","requiredFields":["pipelineId"]}},{"code":"DEAL_NOT_OPEN","when":"Only open deals may move between stages.","recovery":{"operation":"deals.outcome.update","args":{"outcome":"open"},"requiredFields":["dealId","expectedVersion"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsStageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.summary.get":{"post":{"tags":["Operations: deals"],"operationId":"deals.summary.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.summary.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read deal pipeline summary","description":"Returns the open, non-archived deals of one pipeline: count, open amount and probability-weighted amount per stage and per currency (never summed across currencies). Empty stages are included in position order. Also returns the 90-day win rate (won, lost, rate; rate is null without closed deals), staleCount (open deals at least 14 days in their stage) and overdueCount (open deals past their expected close date in the account timezone). Deals without an amount count but add no money. pipelineId selects a pipeline; the default pipeline is used otherwise. An account without pipelines gets an empty result.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSummaryGetInput"},"examples":{"Summary of the default pipeline":{"summary":"Summary of the default pipeline","value":{}},"Summary of the calling user's deals":{"summary":"Summary of the calling user's deals","value":{"owner":"me"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSummaryGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.summary.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.summary.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.summary.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.summary.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.summary.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.summary.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.summary.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.summary.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested reporting pipeline does not exist.","recovery":{"operation":"deals.pipelines.list"}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The me owner filter requires a user actor.","recovery":{"operation":"deals.summary.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.update":{"post":{"tags":["Operations: deals"],"operationId":"deals.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Update deal","description":"Changes title, description, amount, currency, expected close date or client of one deal. expectedVersion must match the deal version from deals.get, otherwise VERSION_CONFLICT is returned with the current version. Owner changes are not accepted here; use the owner operation. Archived deals must be restored first. Requires the deal edit capability.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateInput"},"examples":{"Raise the amount and move the expected close date":{"summary":"Raise the amount and move the expected close date","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","expectedVersion":3,"amountCents":520000,"expectedCloseDate":"2026-11-30"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"CLIENT_NOT_FOUND","when":"The replacement client is missing or archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"CLIENT_NOT_FOUND","when":"The replacement client is missing or archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"CLIENT_NOT_FOUND","when":"The replacement client is missing or archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"CLIENT_NOT_FOUND","when":"The replacement client is missing or archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"CLIENT_NOT_FOUND","when":"The replacement client is missing or archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"CLIENT_NOT_FOUND","when":"The replacement client is missing or archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"CLIENT_NOT_FOUND","when":"The replacement client is missing or archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"CLIENT_NOT_FOUND","when":"The replacement client is missing or archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"CLIENT_NOT_FOUND","when":"The replacement client is missing or archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in the credential account.","recovery":{"operation":"deals.list"}},{"code":"VERSION_CONFLICT","when":"expectedVersion no longer matches the stored deal version.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before editing.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"CLIENT_NOT_FOUND","when":"The replacement client is missing or archived.","recovery":{"operation":"clients.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/deals.workItems.get":{"post":{"tags":["Operations: deals"],"operationId":"deals.workItems.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"deals.workItems.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read deal work items","description":"Returns the deal with its summaries, the open next step (the earliest-due follow-up linked to the deal that is neither completed nor deleted, or null), every non-deleted follow-up linked to the deal that the caller may see, and the most recent linked notes with their total count. Follow-ups and notes are linked to a deal through their dealId. DEAL_NOT_FOUND when the deal does not exist in this account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetInput"},"examples":{"Read what a deal still needs":{"summary":"Read what a deal still needs","value":{"dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f","notesLimit":10}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"deals.workItems.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDealsWorkItemsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.delegation.get":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.delegation.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.delegation.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Get nameserver instructions","description":"Returns the zone's assigned nameservers (they differ per zone), the previous ones, and whether the review is complete. Switching takes effect within minutes to 48 hours, depending on the registry; verify with domains.dns.delegation.verify.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetInput"},"examples":{"Instructions":{"summary":"Instructions","value":{"zoneId":"00000000-0000-4000-8000-000000000001"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.delegation.verify":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.delegation.verify","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.delegation.verify","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"Verify the nameserver switch","description":"Asks public DNS (DNS over HTTPS) for the domain's NS records and compares them as a set with the assigned nameservers; when they match and the provider has not activated the zone yet, asks the provider to re-check. The zone becomes active when the provider reports it active. Owners and admins only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyInput"},"examples":{"Verify":{"summary":"Verify","value":{"zoneId":"00000000-0000-4000-8000-000000000001"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.delegation.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsDelegationVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.records.create":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.records.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.records.create","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"Create a DNS record","description":"Validates the value against its type (IPv4 for A, IPv6 for AAAA, host names for CNAME/MX/NS, a priority for MX and SRV), refuses a CNAME next to other records, and creates it unproxied unless proxied is true. Active zones answer with it within seconds. Owners and admins only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateInput"},"examples":{"Point www at a host":{"summary":"Point www at a host","value":{"zoneId":"00000000-0000-4000-8000-000000000001","record":{"type":"CNAME","name":"www","content":"sites.example.net","ttl":1}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone (details.fieldViolations).","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone (details.fieldViolations).","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone (details.fieldViolations).","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone (details.fieldViolations).","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone (details.fieldViolations).","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone (details.fieldViolations).","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone (details.fieldViolations).","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone (details.fieldViolations).","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone (details.fieldViolations).","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone (details.fieldViolations).","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.records.delete":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.records.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.records.delete","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"Delete a DNS record","description":"Returns the deleted record so it can be recreated with domains.dns.records.create. Owners and admins only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteInput"},"examples":{"Delete a record":{"summary":"Delete a record","value":{"zoneId":"00000000-0000-4000-8000-000000000001","recordId":"rec0001"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.delete"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.records.list":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.records.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.records.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List DNS records","description":"Returns every A, AAAA, CNAME, MX, TXT, CAA, SRV and NS record of the zone with its provider id, TTL, priority and proxy flag. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListInput"},"examples":{"List records":{"summary":"List records","value":{"zoneId":"00000000-0000-4000-8000-000000000001"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.records.update":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.records.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.records.update","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"Update a DNS record","description":"record is the complete new record (type, name, content, ttl, priority, proxied). The same validation as create applies. Owners and admins only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateInput"},"examples":{"Change the apex address":{"summary":"Change the apex address","value":{"zoneId":"00000000-0000-4000-8000-000000000001","recordId":"rec0001","record":{"type":"A","name":"@","content":"192.0.2.10","ttl":1}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_MAIL_RECORD_CHANGE_NEEDS_CONFIRMATION","when":"The change touches MX, SPF, DKIM or DMARC, an address SPF authorizes via \"a\", or a mail server address; details.mailImpact explains the effect. Repeat with confirmMailImpact: true after the person confirmed.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}},{"code":"DNS_RECORD_NOT_FOUND","when":"The zone has no record with this id.","recovery":{"operation":"domains.dns.records.list","requiredFields":["zoneId"]}},{"code":"DNS_RECORD_INVALID","when":"The record does not fit its type or the zone.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.records.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsRecordsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.zones.delete":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.zones.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.zones.delete","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"Delete a managed DNS zone","description":"Deletes the zone at the provider and in moreflow. Before the nameserver switch this simply cancels the import. After it, export the zone first (domains.dns.zones.export) and point the nameservers at the new host. Owners and admins only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteInput"},"examples":{"Cancel an import":{"summary":"Cancel an import","value":{"zoneId":"00000000-0000-4000-8000-000000000001"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_ZONE_IN_USE","when":"A site still uses the domain (details.siteIds); detach the site's domain first.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"DNS_ZONE_ACTIVE_NEEDS_CONFIRMATION","when":"The domain still points at moreflow's nameservers.","recovery":{"operation":"domains.dns.zones.export","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_ZONE_IN_USE","when":"A site still uses the domain (details.siteIds); detach the site's domain first.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"DNS_ZONE_ACTIVE_NEEDS_CONFIRMATION","when":"The domain still points at moreflow's nameservers.","recovery":{"operation":"domains.dns.zones.export","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_ZONE_IN_USE","when":"A site still uses the domain (details.siteIds); detach the site's domain first.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"DNS_ZONE_ACTIVE_NEEDS_CONFIRMATION","when":"The domain still points at moreflow's nameservers.","recovery":{"operation":"domains.dns.zones.export","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_ZONE_IN_USE","when":"A site still uses the domain (details.siteIds); detach the site's domain first.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"DNS_ZONE_ACTIVE_NEEDS_CONFIRMATION","when":"The domain still points at moreflow's nameservers.","recovery":{"operation":"domains.dns.zones.export","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_ZONE_IN_USE","when":"A site still uses the domain (details.siteIds); detach the site's domain first.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"DNS_ZONE_ACTIVE_NEEDS_CONFIRMATION","when":"The domain still points at moreflow's nameservers.","recovery":{"operation":"domains.dns.zones.export","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_ZONE_IN_USE","when":"A site still uses the domain (details.siteIds); detach the site's domain first.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"DNS_ZONE_ACTIVE_NEEDS_CONFIRMATION","when":"The domain still points at moreflow's nameservers.","recovery":{"operation":"domains.dns.zones.export","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_ZONE_IN_USE","when":"A site still uses the domain (details.siteIds); detach the site's domain first.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"DNS_ZONE_ACTIVE_NEEDS_CONFIRMATION","when":"The domain still points at moreflow's nameservers.","recovery":{"operation":"domains.dns.zones.export","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_ZONE_IN_USE","when":"A site still uses the domain (details.siteIds); detach the site's domain first.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"DNS_ZONE_ACTIVE_NEEDS_CONFIRMATION","when":"The domain still points at moreflow's nameservers.","recovery":{"operation":"domains.dns.zones.export","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_ZONE_IN_USE","when":"A site still uses the domain (details.siteIds); detach the site's domain first.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"DNS_ZONE_ACTIVE_NEEDS_CONFIRMATION","when":"The domain still points at moreflow's nameservers.","recovery":{"operation":"domains.dns.zones.export","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_ZONE_IN_USE","when":"A site still uses the domain (details.siteIds); detach the site's domain first.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.delete"}}},{"code":"DNS_ZONE_ACTIVE_NEEDS_CONFIRMATION","when":"The domain still points at moreflow's nameservers.","recovery":{"operation":"domains.dns.zones.export","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.zones.export":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.zones.export","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.zones.export","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Export a managed DNS zone","description":"Returns every record of the zone in BIND format, which other DNS hosts import. Leaving moreflow: import this file at the new host, switch the nameservers there, then delete the zone with domains.dns.zones.delete.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportInput"},"examples":{"Export":{"summary":"Export","value":{"zoneId":"00000000-0000-4000-8000-000000000001"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.export"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesExportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.zones.get":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.zones.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.zones.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Get a managed DNS zone","description":"Returns the stored zone without asking the provider; domains.dns.delegation.verify refreshes its status.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetInput"},"examples":{"Get a zone":{"summary":"Get a zone","value":{"zoneId":"00000000-0000-4000-8000-000000000001"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.zones.import":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.zones.import","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.zones.import","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"Import a domain into managed DNS","description":"Creates the domain's zone in moreflow's Cloudflare account, reads what public DNS answers for the domain today (apex A/AAAA/MX/TXT/CAA, www, mail and autodiscover hosts, _dmarc, common DKIM selectors, SRV records, every name already in the zone and extraNames) over DNS-over-HTTPS, and copies what the zone lacks with proxying off, so answers stay identical. Returns the zone with the nameservers to set at the registrar and the review: one entry per name and type (match, missing_in_zone, different, only_in_zone, unverified) and warnings, for example when SPF authorizes the apex address (\"a\") and that address changes. Switch nameservers only when review.complete is true. Owners and admins only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportInput"},"examples":{"Import a domain":{"summary":"Import a domain","value":{"domain":"example.com"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_DOMAIN_INVALID","when":"domain is not a domain name.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"DNS_DOMAIN_MANAGED_ELSEWHERE","when":"Another moreflow account manages the domain.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_ZONE_EXISTS_AT_PROVIDER","when":"The provider account already hosts the domain outside moreflow; an operator checks it.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_DOMAIN_INVALID","when":"domain is not a domain name.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"DNS_DOMAIN_MANAGED_ELSEWHERE","when":"Another moreflow account manages the domain.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_ZONE_EXISTS_AT_PROVIDER","when":"The provider account already hosts the domain outside moreflow; an operator checks it.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_DOMAIN_INVALID","when":"domain is not a domain name.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"DNS_DOMAIN_MANAGED_ELSEWHERE","when":"Another moreflow account manages the domain.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_ZONE_EXISTS_AT_PROVIDER","when":"The provider account already hosts the domain outside moreflow; an operator checks it.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_DOMAIN_INVALID","when":"domain is not a domain name.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"DNS_DOMAIN_MANAGED_ELSEWHERE","when":"Another moreflow account manages the domain.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_ZONE_EXISTS_AT_PROVIDER","when":"The provider account already hosts the domain outside moreflow; an operator checks it.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_DOMAIN_INVALID","when":"domain is not a domain name.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"DNS_DOMAIN_MANAGED_ELSEWHERE","when":"Another moreflow account manages the domain.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_ZONE_EXISTS_AT_PROVIDER","when":"The provider account already hosts the domain outside moreflow; an operator checks it.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_DOMAIN_INVALID","when":"domain is not a domain name.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"DNS_DOMAIN_MANAGED_ELSEWHERE","when":"Another moreflow account manages the domain.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_ZONE_EXISTS_AT_PROVIDER","when":"The provider account already hosts the domain outside moreflow; an operator checks it.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_DOMAIN_INVALID","when":"domain is not a domain name.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"DNS_DOMAIN_MANAGED_ELSEWHERE","when":"Another moreflow account manages the domain.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_ZONE_EXISTS_AT_PROVIDER","when":"The provider account already hosts the domain outside moreflow; an operator checks it.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_DOMAIN_INVALID","when":"domain is not a domain name.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"DNS_DOMAIN_MANAGED_ELSEWHERE","when":"Another moreflow account manages the domain.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_ZONE_EXISTS_AT_PROVIDER","when":"The provider account already hosts the domain outside moreflow; an operator checks it.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_DOMAIN_INVALID","when":"domain is not a domain name.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"DNS_DOMAIN_MANAGED_ELSEWHERE","when":"Another moreflow account manages the domain.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_ZONE_EXISTS_AT_PROVIDER","when":"The provider account already hosts the domain outside moreflow; an operator checks it.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_DOMAIN_INVALID","when":"domain is not a domain name.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"DNS_DOMAIN_MANAGED_ELSEWHERE","when":"Another moreflow account manages the domain.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_ZONE_EXISTS_AT_PROVIDER","when":"The provider account already hosts the domain outside moreflow; an operator checks it.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_HOSTING_NOT_CONFIGURED","when":"The Cloudflare credentials are not set for this deployment.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.import"}}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.zones.list":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.zones.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.zones.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List managed DNS zones","description":"Each zone has its status (pending_delegation, active, moved), the nameservers assigned to it and the ones it used before. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListInput"},"examples":{"List zones":{"summary":"List zones","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/domains.dns.zones.review.get":{"post":{"tags":["Operations: marketing"],"operationId":"domains.dns.zones.review.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"domains.dns.zones.review.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Review a managed DNS zone","description":"Reads the zone's records from the provider and compares them with the public DNS captured by domains.dns.zones.import. complete is true when nothing captured is missing or different and no blocking warning remains. To read public DNS again before the switch, call domains.dns.zones.import again.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetInput"},"examples":{"Review":{"summary":"Review","value":{"zoneId":"00000000-0000-4000-8000-000000000001"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.review.get","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.review.get","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.review.get","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.review.get","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.review.get","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.review.get","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.review.get","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.review.get","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"domains.dns.zones.review.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"DNS_ZONE_NOT_FOUND","when":"The account manages no zone with this id.","recovery":{"operation":"domains.dns.zones.list"}},{"code":"DNS_PROVIDER_UNAVAILABLE","when":"Cloudflare did not answer; retry.","recovery":{"operation":"domains.dns.zones.review.get","requiredFields":["zoneId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationDomainsDnsZonesReviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/emailCampaigns.sequences.enroll":{"post":{"tags":["Operations: email_campaigns"],"operationId":"emailCampaigns.sequences.enroll","x-moreflow-stability":"stable","x-moreflow-operation-id":"emailCampaigns.sequences.enroll","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"always","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"emailCampaigns.sequences.enroll","description":"Starts the sequence identified by sequenceId for either a single clientId or every member of an existing audienceId (one of the two is required). Each client is enrolled with its primary email address, which every step sends to. Fails with EMAIL_SEQUENCE_REPLY_TO_REQUIRED when neither the sequence replyTo nor a sending-domain reply-to default resolves (recovery: email_campaigns.sequences.update with requiredFields replyTo). A single client must have privacyConsent, a confirmed double opt-in when the account requires it, and an address that has not unsubscribed; otherwise the call fails with EMAIL_SEQUENCE_CONSENT_MISSING (recovery: clients.update), EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING (recovery: email_campaigns.doubleOptIn.request) or EMAIL_ADDRESS_SUPPRESSED. Audience members that fail the audience consent rule or have unsubscribed are skipped and counted, as are members already enrolled. Only active sequences accept enrollments; always asks for confirmation because the first step is scheduled to send.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollInput"},"examples":{"Enroll a newly signed client in onboarding":{"summary":"Enroll a newly signed client in onboarding","value":{"sequenceId":"4d8a1f6c-3e92-4b57-a0c8-6f2e9d1b7a35","clientId":"a1e5d9c3-7b24-4f68-9d0a-2c6e8b4f1a37"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollOutput"},"examples":{"Enroll a newly signed client in onboarding":{"summary":"Enroll a newly signed client in onboarding","value":{"id":"4d8a1f6c-3e92-4b57-a0c8-6f2e9d1b7a35","sequenceId":"4d8a1f6c-3e92-4b57-a0c8-6f2e9d1b7a35","enrolled":1,"alreadyEnrolled":0,"skippedUnsubscribed":0,"skippedIneligible":0}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The requested sequence does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_PAUSED","when":"The sequence is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_CLIENT_INELIGIBLE","when":"The client is missing, deleted, blocked or has no email.","recovery":{"operation":"clients.list"}},{"code":"EMAIL_SEQUENCE_CONSENT_MISSING","when":"The client has not granted privacy consent.","recovery":{"operation":"clients.update","requiredFields":["clientId","privacyConsent"]}},{"code":"EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING","when":"The account requires unconfirmed double opt-in.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"EMAIL_ADDRESS_SUPPRESSED","when":"The email address unsubscribed from this account.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_REQUIRED","when":"Neither input nor sequence selects an audience or client.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_NOT_FOUND","when":"The saved audience does not exist.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The requested sequence does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_PAUSED","when":"The sequence is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_CLIENT_INELIGIBLE","when":"The client is missing, deleted, blocked or has no email.","recovery":{"operation":"clients.list"}},{"code":"EMAIL_SEQUENCE_CONSENT_MISSING","when":"The client has not granted privacy consent.","recovery":{"operation":"clients.update","requiredFields":["clientId","privacyConsent"]}},{"code":"EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING","when":"The account requires unconfirmed double opt-in.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"EMAIL_ADDRESS_SUPPRESSED","when":"The email address unsubscribed from this account.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_REQUIRED","when":"Neither input nor sequence selects an audience or client.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_NOT_FOUND","when":"The saved audience does not exist.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The requested sequence does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_PAUSED","when":"The sequence is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_CLIENT_INELIGIBLE","when":"The client is missing, deleted, blocked or has no email.","recovery":{"operation":"clients.list"}},{"code":"EMAIL_SEQUENCE_CONSENT_MISSING","when":"The client has not granted privacy consent.","recovery":{"operation":"clients.update","requiredFields":["clientId","privacyConsent"]}},{"code":"EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING","when":"The account requires unconfirmed double opt-in.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"EMAIL_ADDRESS_SUPPRESSED","when":"The email address unsubscribed from this account.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_REQUIRED","when":"Neither input nor sequence selects an audience or client.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_NOT_FOUND","when":"The saved audience does not exist.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The requested sequence does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_PAUSED","when":"The sequence is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_CLIENT_INELIGIBLE","when":"The client is missing, deleted, blocked or has no email.","recovery":{"operation":"clients.list"}},{"code":"EMAIL_SEQUENCE_CONSENT_MISSING","when":"The client has not granted privacy consent.","recovery":{"operation":"clients.update","requiredFields":["clientId","privacyConsent"]}},{"code":"EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING","when":"The account requires unconfirmed double opt-in.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"EMAIL_ADDRESS_SUPPRESSED","when":"The email address unsubscribed from this account.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_REQUIRED","when":"Neither input nor sequence selects an audience or client.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_NOT_FOUND","when":"The saved audience does not exist.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The requested sequence does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_PAUSED","when":"The sequence is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_CLIENT_INELIGIBLE","when":"The client is missing, deleted, blocked or has no email.","recovery":{"operation":"clients.list"}},{"code":"EMAIL_SEQUENCE_CONSENT_MISSING","when":"The client has not granted privacy consent.","recovery":{"operation":"clients.update","requiredFields":["clientId","privacyConsent"]}},{"code":"EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING","when":"The account requires unconfirmed double opt-in.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"EMAIL_ADDRESS_SUPPRESSED","when":"The email address unsubscribed from this account.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_REQUIRED","when":"Neither input nor sequence selects an audience or client.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_NOT_FOUND","when":"The saved audience does not exist.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The requested sequence does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_PAUSED","when":"The sequence is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_CLIENT_INELIGIBLE","when":"The client is missing, deleted, blocked or has no email.","recovery":{"operation":"clients.list"}},{"code":"EMAIL_SEQUENCE_CONSENT_MISSING","when":"The client has not granted privacy consent.","recovery":{"operation":"clients.update","requiredFields":["clientId","privacyConsent"]}},{"code":"EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING","when":"The account requires unconfirmed double opt-in.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"EMAIL_ADDRESS_SUPPRESSED","when":"The email address unsubscribed from this account.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_REQUIRED","when":"Neither input nor sequence selects an audience or client.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_NOT_FOUND","when":"The saved audience does not exist.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The requested sequence does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_PAUSED","when":"The sequence is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_CLIENT_INELIGIBLE","when":"The client is missing, deleted, blocked or has no email.","recovery":{"operation":"clients.list"}},{"code":"EMAIL_SEQUENCE_CONSENT_MISSING","when":"The client has not granted privacy consent.","recovery":{"operation":"clients.update","requiredFields":["clientId","privacyConsent"]}},{"code":"EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING","when":"The account requires unconfirmed double opt-in.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"EMAIL_ADDRESS_SUPPRESSED","when":"The email address unsubscribed from this account.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_REQUIRED","when":"Neither input nor sequence selects an audience or client.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_NOT_FOUND","when":"The saved audience does not exist.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The requested sequence does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_PAUSED","when":"The sequence is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_CLIENT_INELIGIBLE","when":"The client is missing, deleted, blocked or has no email.","recovery":{"operation":"clients.list"}},{"code":"EMAIL_SEQUENCE_CONSENT_MISSING","when":"The client has not granted privacy consent.","recovery":{"operation":"clients.update","requiredFields":["clientId","privacyConsent"]}},{"code":"EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING","when":"The account requires unconfirmed double opt-in.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"EMAIL_ADDRESS_SUPPRESSED","when":"The email address unsubscribed from this account.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_REQUIRED","when":"Neither input nor sequence selects an audience or client.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_NOT_FOUND","when":"The saved audience does not exist.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The requested sequence does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_PAUSED","when":"The sequence is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_CLIENT_INELIGIBLE","when":"The client is missing, deleted, blocked or has no email.","recovery":{"operation":"clients.list"}},{"code":"EMAIL_SEQUENCE_CONSENT_MISSING","when":"The client has not granted privacy consent.","recovery":{"operation":"clients.update","requiredFields":["clientId","privacyConsent"]}},{"code":"EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING","when":"The account requires unconfirmed double opt-in.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"EMAIL_ADDRESS_SUPPRESSED","when":"The email address unsubscribed from this account.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_REQUIRED","when":"Neither input nor sequence selects an audience or client.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_NOT_FOUND","when":"The saved audience does not exist.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The requested sequence does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_PAUSED","when":"The sequence is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enroll"}}},{"code":"EMAIL_SEQUENCE_CLIENT_INELIGIBLE","when":"The client is missing, deleted, blocked or has no email.","recovery":{"operation":"clients.list"}},{"code":"EMAIL_SEQUENCE_CONSENT_MISSING","when":"The client has not granted privacy consent.","recovery":{"operation":"clients.update","requiredFields":["clientId","privacyConsent"]}},{"code":"EMAIL_SEQUENCE_DOUBLE_OPT_IN_MISSING","when":"The account requires unconfirmed double opt-in.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"EMAIL_ADDRESS_SUPPRESSED","when":"The email address unsubscribed from this account.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_REQUIRED","when":"Neither input nor sequence selects an audience or client.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}},{"code":"EMAIL_SEQUENCE_AUDIENCE_NOT_FOUND","when":"The saved audience does not exist.","recovery":{"operation":"emailCampaigns.sequences.enroll","requiredFields":["sequenceId","audienceId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/emailCampaigns.sequences.enrollments.delete":{"post":{"tags":["Operations: email_campaigns"],"operationId":"emailCampaigns.sequences.enrollments.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"emailCampaigns.sequences.enrollments.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"emailCampaigns.sequences.enrollments.delete","description":"Marks the client's active enrollments as exited with exitReason stopped. Pass sequenceId to stop one sequence, or omit it to stop every active enrollment of the client across all sequences, paused ones included. Enrollments that already completed, failed, or exited are left unchanged. Returns the number stopped and their enrollmentIds; zero means the client had no active enrollment, which is not an error. Nothing is sent. A stopped enrollment stays on record, so email_campaigns.sequences.enroll reports it as alreadyEnrolled and does not restart it. Fails with EMAIL_SEQUENCE_NOT_FOUND when sequenceId is unknown, and with EMAIL_SEQUENCE_ENROLLMENT_CONFLICT (retryable) when an enrollment is mid-send or changed during the stop; repeating the call is safe.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteInput"},"examples":{"Stop a client in one nurture sequence":{"summary":"Stop a client in one nurture sequence","value":{"clientId":"a1e5d9c3-7b24-4f68-9d0a-2c6e8b4f1a37","sequenceId":"4d8a1f6c-3e92-4b57-a0c8-6f2e9d1b7a35"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The sequenceId does not name a sequence of the account.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"EMAIL_SEQUENCE_ENROLLMENT_CONFLICT","when":"An enrollment was mid-send or changed during the stop; repeating the call stops the remainder.","recovery":{"operation":"emailCampaigns.sequences.enrollments.delete","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The sequenceId does not name a sequence of the account.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"EMAIL_SEQUENCE_ENROLLMENT_CONFLICT","when":"An enrollment was mid-send or changed during the stop; repeating the call stops the remainder.","recovery":{"operation":"emailCampaigns.sequences.enrollments.delete","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The sequenceId does not name a sequence of the account.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"EMAIL_SEQUENCE_ENROLLMENT_CONFLICT","when":"An enrollment was mid-send or changed during the stop; repeating the call stops the remainder.","recovery":{"operation":"emailCampaigns.sequences.enrollments.delete","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The sequenceId does not name a sequence of the account.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"EMAIL_SEQUENCE_ENROLLMENT_CONFLICT","when":"An enrollment was mid-send or changed during the stop; repeating the call stops the remainder.","recovery":{"operation":"emailCampaigns.sequences.enrollments.delete","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The sequenceId does not name a sequence of the account.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"EMAIL_SEQUENCE_ENROLLMENT_CONFLICT","when":"An enrollment was mid-send or changed during the stop; repeating the call stops the remainder.","recovery":{"operation":"emailCampaigns.sequences.enrollments.delete","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The sequenceId does not name a sequence of the account.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"EMAIL_SEQUENCE_ENROLLMENT_CONFLICT","when":"An enrollment was mid-send or changed during the stop; repeating the call stops the remainder.","recovery":{"operation":"emailCampaigns.sequences.enrollments.delete","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The sequenceId does not name a sequence of the account.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"EMAIL_SEQUENCE_ENROLLMENT_CONFLICT","when":"An enrollment was mid-send or changed during the stop; repeating the call stops the remainder.","recovery":{"operation":"emailCampaigns.sequences.enrollments.delete","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The sequenceId does not name a sequence of the account.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"EMAIL_SEQUENCE_ENROLLMENT_CONFLICT","when":"An enrollment was mid-send or changed during the stop; repeating the call stops the remainder.","recovery":{"operation":"emailCampaigns.sequences.enrollments.delete","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The sequenceId does not name a sequence of the account.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"EMAIL_SEQUENCE_ENROLLMENT_CONFLICT","when":"An enrollment was mid-send or changed during the stop; repeating the call stops the remainder.","recovery":{"operation":"emailCampaigns.sequences.enrollments.delete","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"EMAIL_SEQUENCE_NOT_FOUND","when":"The sequenceId does not name a sequence of the account.","recovery":{"operation":"operations.discovery.get","args":{"id":"emailCampaigns.sequences.enrollments.delete"}}},{"code":"EMAIL_SEQUENCE_ENROLLMENT_CONFLICT","when":"An enrollment was mid-send or changed during the stop; repeating the call stops the remainder.","recovery":{"operation":"emailCampaigns.sequences.enrollments.delete","requiredFields":["clientId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEmailCampaignsSequencesEnrollmentsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.catalog.list":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.catalog.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.catalog.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Mcp Catalog List","description":"List the reviewed tools from one connected external MCP server.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"INVALID_CURSOR","when":"The catalog cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"INVALID_CURSOR","when":"The catalog cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"INVALID_CURSOR","when":"The catalog cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"INVALID_CURSOR","when":"The catalog cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"INVALID_CURSOR","when":"The catalog cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"INVALID_CURSOR","when":"The catalog cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"INVALID_CURSOR","when":"The catalog cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"INVALID_CURSOR","when":"The catalog cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"INVALID_CURSOR","when":"The catalog cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.catalog.update":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.catalog.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.catalog.update","summary":"Mcp Catalog Update","description":"flow.mcp.catalog.update","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Refreshing tools requires a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The reviewed connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant must be reauthorized.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_CURSOR_INVALID","when":"The remote catalog repeated a page cursor.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_TOO_LARGE","when":"The remote catalog exceeds the supported tool or page limit.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during refresh.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_REFRESH_FAILED","when":"The remote catalog cannot be read or persisted.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Refreshing tools requires a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The reviewed connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant must be reauthorized.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_CURSOR_INVALID","when":"The remote catalog repeated a page cursor.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_TOO_LARGE","when":"The remote catalog exceeds the supported tool or page limit.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during refresh.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_REFRESH_FAILED","when":"The remote catalog cannot be read or persisted.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Refreshing tools requires a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The reviewed connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant must be reauthorized.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_CURSOR_INVALID","when":"The remote catalog repeated a page cursor.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_TOO_LARGE","when":"The remote catalog exceeds the supported tool or page limit.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during refresh.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_REFRESH_FAILED","when":"The remote catalog cannot be read or persisted.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Refreshing tools requires a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The reviewed connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant must be reauthorized.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_CURSOR_INVALID","when":"The remote catalog repeated a page cursor.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_TOO_LARGE","when":"The remote catalog exceeds the supported tool or page limit.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during refresh.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_REFRESH_FAILED","when":"The remote catalog cannot be read or persisted.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Refreshing tools requires a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The reviewed connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant must be reauthorized.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_CURSOR_INVALID","when":"The remote catalog repeated a page cursor.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_TOO_LARGE","when":"The remote catalog exceeds the supported tool or page limit.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during refresh.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_REFRESH_FAILED","when":"The remote catalog cannot be read or persisted.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Refreshing tools requires a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The reviewed connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant must be reauthorized.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_CURSOR_INVALID","when":"The remote catalog repeated a page cursor.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_TOO_LARGE","when":"The remote catalog exceeds the supported tool or page limit.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during refresh.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_REFRESH_FAILED","when":"The remote catalog cannot be read or persisted.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Refreshing tools requires a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The reviewed connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant must be reauthorized.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_CURSOR_INVALID","when":"The remote catalog repeated a page cursor.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_TOO_LARGE","when":"The remote catalog exceeds the supported tool or page limit.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during refresh.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_REFRESH_FAILED","when":"The remote catalog cannot be read or persisted.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Refreshing tools requires a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The reviewed connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant must be reauthorized.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_CURSOR_INVALID","when":"The remote catalog repeated a page cursor.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_TOO_LARGE","when":"The remote catalog exceeds the supported tool or page limit.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during refresh.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_REFRESH_FAILED","when":"The remote catalog cannot be read or persisted.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Refreshing tools requires a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The reviewed connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant must be reauthorized.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_CURSOR_INVALID","when":"The remote catalog repeated a page cursor.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_TOO_LARGE","when":"The remote catalog exceeds the supported tool or page limit.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during refresh.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_REFRESH_FAILED","when":"The remote catalog cannot be read or persisted.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.catalog.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Refreshing tools requires a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The reviewed connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant must be reauthorized.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_CURSOR_INVALID","when":"The remote catalog repeated a page cursor.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_TOO_LARGE","when":"The remote catalog exceeds the supported tool or page limit.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during refresh.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_REFRESH_FAILED","when":"The remote catalog cannot be read or persisted.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpCatalogUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.connections.create":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.connections.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.connections.create","summary":"Mcp Connections Create","description":"flow.mcp.connections.create","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reactivation does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_UNSAFE","when":"The endpoint is not a permitted public HTTPS destination.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_CHANGED","when":"Reactivation names a different endpoint than the reviewed connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_AUTH_MODE_MISMATCH","when":"Credentials or the reactivation authentication mode differ from the reviewed mode.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_REQUIRED","when":"The selected authentication mode requires a credential.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during activation.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ACTIVATION_FAILED","when":"Remote inspection or activation persistence failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reactivation does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_UNSAFE","when":"The endpoint is not a permitted public HTTPS destination.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_CHANGED","when":"Reactivation names a different endpoint than the reviewed connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_AUTH_MODE_MISMATCH","when":"Credentials or the reactivation authentication mode differ from the reviewed mode.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_REQUIRED","when":"The selected authentication mode requires a credential.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during activation.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ACTIVATION_FAILED","when":"Remote inspection or activation persistence failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reactivation does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_UNSAFE","when":"The endpoint is not a permitted public HTTPS destination.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_CHANGED","when":"Reactivation names a different endpoint than the reviewed connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_AUTH_MODE_MISMATCH","when":"Credentials or the reactivation authentication mode differ from the reviewed mode.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_REQUIRED","when":"The selected authentication mode requires a credential.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during activation.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ACTIVATION_FAILED","when":"Remote inspection or activation persistence failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reactivation does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_UNSAFE","when":"The endpoint is not a permitted public HTTPS destination.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_CHANGED","when":"Reactivation names a different endpoint than the reviewed connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_AUTH_MODE_MISMATCH","when":"Credentials or the reactivation authentication mode differ from the reviewed mode.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_REQUIRED","when":"The selected authentication mode requires a credential.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during activation.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ACTIVATION_FAILED","when":"Remote inspection or activation persistence failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reactivation does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_UNSAFE","when":"The endpoint is not a permitted public HTTPS destination.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_CHANGED","when":"Reactivation names a different endpoint than the reviewed connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_AUTH_MODE_MISMATCH","when":"Credentials or the reactivation authentication mode differ from the reviewed mode.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_REQUIRED","when":"The selected authentication mode requires a credential.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during activation.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ACTIVATION_FAILED","when":"Remote inspection or activation persistence failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reactivation does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_UNSAFE","when":"The endpoint is not a permitted public HTTPS destination.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_CHANGED","when":"Reactivation names a different endpoint than the reviewed connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_AUTH_MODE_MISMATCH","when":"Credentials or the reactivation authentication mode differ from the reviewed mode.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_REQUIRED","when":"The selected authentication mode requires a credential.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during activation.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ACTIVATION_FAILED","when":"Remote inspection or activation persistence failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reactivation does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_UNSAFE","when":"The endpoint is not a permitted public HTTPS destination.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_CHANGED","when":"Reactivation names a different endpoint than the reviewed connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_AUTH_MODE_MISMATCH","when":"Credentials or the reactivation authentication mode differ from the reviewed mode.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_REQUIRED","when":"The selected authentication mode requires a credential.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during activation.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ACTIVATION_FAILED","when":"Remote inspection or activation persistence failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reactivation does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_UNSAFE","when":"The endpoint is not a permitted public HTTPS destination.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_CHANGED","when":"Reactivation names a different endpoint than the reviewed connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_AUTH_MODE_MISMATCH","when":"Credentials or the reactivation authentication mode differ from the reviewed mode.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_REQUIRED","when":"The selected authentication mode requires a credential.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during activation.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ACTIVATION_FAILED","when":"Remote inspection or activation persistence failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reactivation does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_UNSAFE","when":"The endpoint is not a permitted public HTTPS destination.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_CHANGED","when":"Reactivation names a different endpoint than the reviewed connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_AUTH_MODE_MISMATCH","when":"Credentials or the reactivation authentication mode differ from the reviewed mode.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_REQUIRED","when":"The selected authentication mode requires a credential.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during activation.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ACTIVATION_FAILED","when":"Remote inspection or activation persistence failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reactivation does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_UNSAFE","when":"The endpoint is not a permitted public HTTPS destination.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ENDPOINT_CHANGED","when":"Reactivation names a different endpoint than the reviewed connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_AUTH_MODE_MISMATCH","when":"Credentials or the reactivation authentication mode differ from the reviewed mode.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_REQUIRED","when":"The selected authentication mode requires a credential.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during activation.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_ACTIVATION_FAILED","when":"Remote inspection or activation persistence failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.connections.list":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.connections.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.connections.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Mcp Connections List","description":"List the account’s connected external MCP tool servers and the current access capabilities.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The connection cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The connection cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The connection cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The connection cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The connection cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The connection cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The connection cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The connection cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The connection cursor is malformed or expired.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.connections.preview":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.connections.preview","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.connections.preview","summary":"Mcp Connections Preview","description":"flow.mcp.connections.preview","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_INSPECTION_FAILED","when":"The remote endpoint cannot be inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_INSPECTION_FAILED","when":"The remote endpoint cannot be inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_INSPECTION_FAILED","when":"The remote endpoint cannot be inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_INSPECTION_FAILED","when":"The remote endpoint cannot be inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_INSPECTION_FAILED","when":"The remote endpoint cannot be inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_INSPECTION_FAILED","when":"The remote endpoint cannot be inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_INSPECTION_FAILED","when":"The remote endpoint cannot be inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_INSPECTION_FAILED","when":"The remote endpoint cannot be inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_INSPECTION_FAILED","when":"The remote endpoint cannot be inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.connections.test":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.connections.test","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.connections.test","summary":"Mcp Connections Test","description":"flow.mcp.connections.test","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Health checks require a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed before the health result was recorded.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_HEALTH_CHECK_FAILED","when":"Remote inspection failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Health checks require a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed before the health result was recorded.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_HEALTH_CHECK_FAILED","when":"Remote inspection failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Health checks require a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed before the health result was recorded.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_HEALTH_CHECK_FAILED","when":"Remote inspection failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Health checks require a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed before the health result was recorded.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_HEALTH_CHECK_FAILED","when":"Remote inspection failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Health checks require a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed before the health result was recorded.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_HEALTH_CHECK_FAILED","when":"Remote inspection failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Health checks require a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed before the health result was recorded.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_HEALTH_CHECK_FAILED","when":"Remote inspection failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Health checks require a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed before the health result was recorded.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_HEALTH_CHECK_FAILED","when":"Remote inspection failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Health checks require a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed before the health result was recorded.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_HEALTH_CHECK_FAILED","when":"Remote inspection failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Health checks require a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed before the health result was recorded.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_HEALTH_CHECK_FAILED","when":"Remote inspection failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_NOT_CONNECTED","when":"Health checks require a connected server.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed before the health result was recorded.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_HEALTH_CHECK_FAILED","when":"Remote inspection failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.connections.update":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.connections.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.connections.update","summary":"Mcp Connections Update","description":"flow.mcp.connections.update","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_REQUIRED","when":"A disconnected connection requires a new authorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_FAILED","when":"Remote inspection failed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_REQUIRED","when":"A disconnected connection requires a new authorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_FAILED","when":"Remote inspection failed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_REQUIRED","when":"A disconnected connection requires a new authorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_FAILED","when":"Remote inspection failed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_REQUIRED","when":"A disconnected connection requires a new authorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_FAILED","when":"Remote inspection failed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_REQUIRED","when":"A disconnected connection requires a new authorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_FAILED","when":"Remote inspection failed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_REQUIRED","when":"A disconnected connection requires a new authorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_FAILED","when":"Remote inspection failed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_REQUIRED","when":"A disconnected connection requires a new authorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_FAILED","when":"Remote inspection failed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_REQUIRED","when":"A disconnected connection requires a new authorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_FAILED","when":"Remote inspection failed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_REQUIRED","when":"A disconnected connection requires a new authorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_FAILED","when":"Remote inspection failed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connections.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_REQUIRED","when":"A disconnected connection requires a new authorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CREDENTIAL_MISSING","when":"The connection has no usable credentials.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RECONNECT_REQUIRED","when":"The OAuth grant requires reauthorization.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REFRESH_FAILED","when":"OAuth token refresh failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection changed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_RECONNECT_FAILED","when":"Remote inspection failed during reconnect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CATALOG_PAGE_TOO_LARGE","when":"The remote server tool page exceeds the supported size.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.connectionState.update":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.connectionState.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.connectionState.update","summary":"Mcp Connection State Update","description":"flow.mcp.connectionState.update","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_DISCONNECTED","when":"A disconnected connection must be reactivated.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_REAUTH_REQUIRED","when":"A connection requiring reauthorization cannot be resumed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during the state update.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_DISCONNECTED","when":"A disconnected connection must be reactivated.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_REAUTH_REQUIRED","when":"A connection requiring reauthorization cannot be resumed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during the state update.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_DISCONNECTED","when":"A disconnected connection must be reactivated.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_REAUTH_REQUIRED","when":"A connection requiring reauthorization cannot be resumed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during the state update.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_DISCONNECTED","when":"A disconnected connection must be reactivated.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_REAUTH_REQUIRED","when":"A connection requiring reauthorization cannot be resumed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during the state update.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_DISCONNECTED","when":"A disconnected connection must be reactivated.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_REAUTH_REQUIRED","when":"A connection requiring reauthorization cannot be resumed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during the state update.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_DISCONNECTED","when":"A disconnected connection must be reactivated.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_REAUTH_REQUIRED","when":"A connection requiring reauthorization cannot be resumed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during the state update.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_DISCONNECTED","when":"A disconnected connection must be reactivated.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_REAUTH_REQUIRED","when":"A connection requiring reauthorization cannot be resumed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during the state update.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_DISCONNECTED","when":"A disconnected connection must be reactivated.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_REAUTH_REQUIRED","when":"A connection requiring reauthorization cannot be resumed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during the state update.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_DISCONNECTED","when":"A disconnected connection must be reactivated.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_REAUTH_REQUIRED","when":"A connection requiring reauthorization cannot be resumed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during the state update.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.connectionState.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_DISCONNECTED","when":"A disconnected connection must be reactivated.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_REAUTH_REQUIRED","when":"A connection requiring reauthorization cannot be resumed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_CONNECTION_CONFLICT","when":"The connection revision changed during the state update.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpConnectionStateUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.grants.create":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.grants.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.grants.create","summary":"Mcp Grants Create","description":"flow.mcp.grants.create","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_SHARING_NOT_ENABLED","when":"Sharing is available only on a shared connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_GRANT_INVALID","when":"The owner already has access and cannot receive a separate grant.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_SHARING_NOT_ENABLED","when":"Sharing is available only on a shared connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_GRANT_INVALID","when":"The owner already has access and cannot receive a separate grant.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_SHARING_NOT_ENABLED","when":"Sharing is available only on a shared connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_GRANT_INVALID","when":"The owner already has access and cannot receive a separate grant.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_SHARING_NOT_ENABLED","when":"Sharing is available only on a shared connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_GRANT_INVALID","when":"The owner already has access and cannot receive a separate grant.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_SHARING_NOT_ENABLED","when":"Sharing is available only on a shared connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_GRANT_INVALID","when":"The owner already has access and cannot receive a separate grant.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_SHARING_NOT_ENABLED","when":"Sharing is available only on a shared connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_GRANT_INVALID","when":"The owner already has access and cannot receive a separate grant.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_SHARING_NOT_ENABLED","when":"Sharing is available only on a shared connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_GRANT_INVALID","when":"The owner already has access and cannot receive a separate grant.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_SHARING_NOT_ENABLED","when":"Sharing is available only on a shared connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_GRANT_INVALID","when":"The owner already has access and cannot receive a separate grant.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_SHARING_NOT_ENABLED","when":"Sharing is available only on a shared connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_GRANT_INVALID","when":"The owner already has access and cannot receive a separate grant.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_SHARING_NOT_ENABLED","when":"Sharing is available only on a shared connection.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_GRANT_INVALID","when":"The owner already has access and cannot receive a separate grant.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.grants.delete":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.grants.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.grants.delete","summary":"Mcp Grants Delete","description":"flow.mcp.grants.delete","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection or access grant does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection or access grant does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection or access grant does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection or access grant does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection or access grant does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection or access grant does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection or access grant does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection or access grant does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection or access grant does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.grants.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection or access grant does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpGrantsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.oauth.create":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.oauth.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.oauth.create","summary":"Mcp Oauth Create","description":"flow.mcp.oauth.create","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reauthorization does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_MISMATCH","when":"OAuth metadata changed since it was inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_SETUP_REQUIRED","when":"The selected client strategy requires OAuth client setup.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REGISTRATION_FAILED","when":"Dynamic OAuth client registration failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ATTEMPT_INVALID","when":"The authorization attempt binding is invalid.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REDIRECT_MISMATCH","when":"The callback URL does not match the authorized redirect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_BEGIN_FAILED","when":"Authorization setup could not be persisted or prepared.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reauthorization does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_MISMATCH","when":"OAuth metadata changed since it was inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_SETUP_REQUIRED","when":"The selected client strategy requires OAuth client setup.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REGISTRATION_FAILED","when":"Dynamic OAuth client registration failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ATTEMPT_INVALID","when":"The authorization attempt binding is invalid.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REDIRECT_MISMATCH","when":"The callback URL does not match the authorized redirect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_BEGIN_FAILED","when":"Authorization setup could not be persisted or prepared.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reauthorization does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_MISMATCH","when":"OAuth metadata changed since it was inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_SETUP_REQUIRED","when":"The selected client strategy requires OAuth client setup.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REGISTRATION_FAILED","when":"Dynamic OAuth client registration failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ATTEMPT_INVALID","when":"The authorization attempt binding is invalid.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REDIRECT_MISMATCH","when":"The callback URL does not match the authorized redirect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_BEGIN_FAILED","when":"Authorization setup could not be persisted or prepared.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reauthorization does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_MISMATCH","when":"OAuth metadata changed since it was inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_SETUP_REQUIRED","when":"The selected client strategy requires OAuth client setup.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REGISTRATION_FAILED","when":"Dynamic OAuth client registration failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ATTEMPT_INVALID","when":"The authorization attempt binding is invalid.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REDIRECT_MISMATCH","when":"The callback URL does not match the authorized redirect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_BEGIN_FAILED","when":"Authorization setup could not be persisted or prepared.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reauthorization does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_MISMATCH","when":"OAuth metadata changed since it was inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_SETUP_REQUIRED","when":"The selected client strategy requires OAuth client setup.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REGISTRATION_FAILED","when":"Dynamic OAuth client registration failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ATTEMPT_INVALID","when":"The authorization attempt binding is invalid.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REDIRECT_MISMATCH","when":"The callback URL does not match the authorized redirect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_BEGIN_FAILED","when":"Authorization setup could not be persisted or prepared.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reauthorization does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_MISMATCH","when":"OAuth metadata changed since it was inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_SETUP_REQUIRED","when":"The selected client strategy requires OAuth client setup.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REGISTRATION_FAILED","when":"Dynamic OAuth client registration failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ATTEMPT_INVALID","when":"The authorization attempt binding is invalid.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REDIRECT_MISMATCH","when":"The callback URL does not match the authorized redirect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_BEGIN_FAILED","when":"Authorization setup could not be persisted or prepared.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reauthorization does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_MISMATCH","when":"OAuth metadata changed since it was inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_SETUP_REQUIRED","when":"The selected client strategy requires OAuth client setup.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REGISTRATION_FAILED","when":"Dynamic OAuth client registration failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ATTEMPT_INVALID","when":"The authorization attempt binding is invalid.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REDIRECT_MISMATCH","when":"The callback URL does not match the authorized redirect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_BEGIN_FAILED","when":"Authorization setup could not be persisted or prepared.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reauthorization does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_MISMATCH","when":"OAuth metadata changed since it was inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_SETUP_REQUIRED","when":"The selected client strategy requires OAuth client setup.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REGISTRATION_FAILED","when":"Dynamic OAuth client registration failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ATTEMPT_INVALID","when":"The authorization attempt binding is invalid.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REDIRECT_MISMATCH","when":"The callback URL does not match the authorized redirect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_BEGIN_FAILED","when":"Authorization setup could not be persisted or prepared.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reauthorization does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_MISMATCH","when":"OAuth metadata changed since it was inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_SETUP_REQUIRED","when":"The selected client strategy requires OAuth client setup.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REGISTRATION_FAILED","when":"Dynamic OAuth client registration failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ATTEMPT_INVALID","when":"The authorization attempt binding is invalid.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REDIRECT_MISMATCH","when":"The callback URL does not match the authorized redirect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_BEGIN_FAILED","when":"Authorization setup could not be persisted or prepared.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection selected for reauthorization does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_MISMATCH","when":"OAuth metadata changed since it was inspected.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_SETUP_REQUIRED","when":"The selected client strategy requires OAuth client setup.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REGISTRATION_FAILED","when":"Dynamic OAuth client registration failed.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ATTEMPT_INVALID","when":"The authorization attempt binding is invalid.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_REDIRECT_MISMATCH","when":"The callback URL does not match the authorized redirect.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_BEGIN_FAILED","when":"Authorization setup could not be persisted or prepared.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.oauth.preview":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.oauth.preview","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.oauth.preview","summary":"Mcp Oauth Preview","description":"flow.mcp.oauth.preview","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.oauth.preview"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_MCP_OAUTH_DISCOVERY_FAILED","when":"OAuth metadata documents cannot be retrieved.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_METADATA_INVALID","when":"OAuth metadata documents are malformed or omit required fields.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_RESOURCE_MISMATCH","when":"The discovered resource differs from the requested MCP endpoint.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_ISSUER_MISMATCH","when":"The discovered authorization server issuer does not match its metadata.","recovery":{"operation":"flow.mcp.connections.list","args":{}}},{"code":"FLOW_MCP_OAUTH_UNSUPPORTED","when":"The server does not support the required OAuth discovery or PKCE contract.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpOauthPreviewError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.mcp.tools.update":{"post":{"tags":["Operations: flow"],"operationId":"flow.mcp.tools.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"flow.mcp.tools.update","summary":"Mcp Tools Update","description":"flow.mcp.tools.update","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.mcp.tools.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The connection does not exist.","recovery":{"operation":"flow.mcp.connections.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowMcpToolsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/flow.threads.search":{"post":{"tags":["Operations: flow"],"operationId":"flow.threads.search","x-moreflow-stability":"beta","x-moreflow-operation-id":"flow.threads.search","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"flow.threads.search","description":"Searches the caller's saved Flow chats by message text, ordered by lastMessageAt descending and id descending. limit pages threads (1–100, default 20); pass nextCursor as cursor with the same filters to continue. Every returned thread contains its complete chronological messages, all matching anchors, and links, including persisted tool results and attachments. threadId reads one complete thread; aroundMessageId identifies an anchor without cutting its history. Empty or inaccessible searches return {items: [], nextCursor: null}. Requires active membership and the account owner's Flow risk consent; this read has no side effects.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowThreadsSearchInput"},"examples":{"Find an earlier conversation about a proposal":{"summary":"Find an earlier conversation about a proposal","value":{"query":"Nordlicht onboarding proposal","limit":10}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowThreadsSearchOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_AI_OWNER_RISK_CONSENT_REQUIRED","when":"The account owner has not accepted Flow AI risk consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another tenant, user, or search.","recovery":{"operation":"flow.threads.search","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowThreadsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_AI_OWNER_RISK_CONSENT_REQUIRED","when":"The account owner has not accepted Flow AI risk consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another tenant, user, or search.","recovery":{"operation":"flow.threads.search","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowThreadsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_AI_OWNER_RISK_CONSENT_REQUIRED","when":"The account owner has not accepted Flow AI risk consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another tenant, user, or search.","recovery":{"operation":"flow.threads.search","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowThreadsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_AI_OWNER_RISK_CONSENT_REQUIRED","when":"The account owner has not accepted Flow AI risk consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another tenant, user, or search.","recovery":{"operation":"flow.threads.search","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowThreadsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_AI_OWNER_RISK_CONSENT_REQUIRED","when":"The account owner has not accepted Flow AI risk consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another tenant, user, or search.","recovery":{"operation":"flow.threads.search","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowThreadsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_AI_OWNER_RISK_CONSENT_REQUIRED","when":"The account owner has not accepted Flow AI risk consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another tenant, user, or search.","recovery":{"operation":"flow.threads.search","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowThreadsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_AI_OWNER_RISK_CONSENT_REQUIRED","when":"The account owner has not accepted Flow AI risk consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another tenant, user, or search.","recovery":{"operation":"flow.threads.search","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowThreadsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_AI_OWNER_RISK_CONSENT_REQUIRED","when":"The account owner has not accepted Flow AI risk consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another tenant, user, or search.","recovery":{"operation":"flow.threads.search","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowThreadsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FLOW_AI_OWNER_RISK_CONSENT_REQUIRED","when":"The account owner has not accepted Flow AI risk consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"flow.threads.search"}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or belongs to another tenant, user, or search.","recovery":{"operation":"flow.threads.search","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFlowThreadsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/forms.list":{"post":{"tags":["Operations: forms"],"operationId":"forms.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"forms.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"forms.list","description":"Returns one page of the account forms, most recently updated first, each with its status and active published version. Filter by status (draft, published, archived); archived forms are hidden unless includeArchived is true or status is archived. Page with limit (1-200, default 100) and cursor: pass nextCursor back until it is null. Use the returned id as formId for forms.get, forms.submissions.list and the other form operations.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsListInput"},"examples":{"First page of published forms":{"summary":"First page of published forms","value":{"status":"published","limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"forms.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"forms.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"forms.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"forms.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"forms.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"forms.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"forms.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"forms.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"forms.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/forms.public.get":{"post":{"tags":["Operations: forms"],"operationId":"forms.public.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"forms.public.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"forms.public.get","description":"Returns what a client needs to render and submit the active published form (pages, render settings, browser pixel ids, consent copy inputs and spam-protection settings) when the caller origin is allowed. The stored form configuration, allowed domains and client-field mapping stay server-side. Missing, archived and unpublished forms carry navigational domain errors. Read-only.","x-moreflow-contract-version":"2","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsPublicGetInput"},"examples":{"Read the published form":{"summary":"Read the published form","value":{"formId":"80000000-0000-4000-8000-000000000001"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsPublicGetOutput"},"examples":{"Read the published form":{"summary":"Read the published form","value":{"id":"80000000-0000-4000-8000-000000000001","accountId":"3f8b2c1d-6a4e-4b9f-9d2e-7c5a1b8e4f60","name":"Contact request","status":"published","honeypotField":"website","spamProtection":{"turnstile":{"siteKey":"","mode":"off"}},"companyName":"Northwind GmbH","language":"de","version":{"id":"81000000-0000-4000-8000-000000000001","version":1,"publishedAt":"2026-10-01T09:00:00.000Z","settings":{"submitButtonText":"Send request","primaryColor":"#1f6feb","privacyMode":true},"pages":[{"id":"page_contact","type":"regular","title":"Contact","components":[{"id":"email_field","type":"email","label":"Email","required":true}]},{"id":"page_thank_you","type":"thank_you","components":[],"content":[{"id":"thanks_heading","type":"heading","props":{"content":"Thank you!"}}]}]}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The form identifier is invalid, deleted or belongs to another account.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_RETIRED","when":"The owning account archived the public form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_UNPUBLISHED","when":"The form has no currently published version.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The browser origin is outside the published allowed domains.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The active published version is missing.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsPublicGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The form identifier is invalid, deleted or belongs to another account.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_RETIRED","when":"The owning account archived the public form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_UNPUBLISHED","when":"The form has no currently published version.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The browser origin is outside the published allowed domains.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The active published version is missing.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsPublicGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The form identifier is invalid, deleted or belongs to another account.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_RETIRED","when":"The owning account archived the public form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_UNPUBLISHED","when":"The form has no currently published version.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The browser origin is outside the published allowed domains.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The active published version is missing.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsPublicGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The form identifier is invalid, deleted or belongs to another account.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_RETIRED","when":"The owning account archived the public form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_UNPUBLISHED","when":"The form has no currently published version.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The browser origin is outside the published allowed domains.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The active published version is missing.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsPublicGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The form identifier is invalid, deleted or belongs to another account.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_RETIRED","when":"The owning account archived the public form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_UNPUBLISHED","when":"The form has no currently published version.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The browser origin is outside the published allowed domains.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The active published version is missing.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsPublicGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The form identifier is invalid, deleted or belongs to another account.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_RETIRED","when":"The owning account archived the public form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_UNPUBLISHED","when":"The form has no currently published version.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The browser origin is outside the published allowed domains.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The active published version is missing.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsPublicGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The form identifier is invalid, deleted or belongs to another account.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_RETIRED","when":"The owning account archived the public form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_UNPUBLISHED","when":"The form has no currently published version.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The browser origin is outside the published allowed domains.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The active published version is missing.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsPublicGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The form identifier is invalid, deleted or belongs to another account.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_RETIRED","when":"The owning account archived the public form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_UNPUBLISHED","when":"The form has no currently published version.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The browser origin is outside the published allowed domains.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The active published version is missing.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsPublicGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.public.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The form identifier is invalid, deleted or belongs to another account.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_RETIRED","when":"The owning account archived the public form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"FORM_UNPUBLISHED","when":"The form has no currently published version.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The browser origin is outside the published allowed domains.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The active published version is missing.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsPublicGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/forms.submissions.get":{"post":{"tags":["Operations: forms"],"operationId":"forms.submissions.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"forms.submissions.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"forms.submissions.get","description":"Loads one submission by submissionId (the id field of a forms.submissions.list item) within the account, returning the submission resource itself with its submitted values, status, UTM and user-agent metadata, and the form plus form-version field definitions needed to label each answer. Errors: NOT_FOUND when the id is unknown or belongs to another account (recovery: forms.submissions.list); FORBIDDEN when the caller is not an active member of the account. Get submission ids from forms.submissions.list; this operation does not page.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetInput"},"examples":{"Open one submission":{"summary":"Open one submission","value":{"submissionId":"9d3c7a1e-4b2f-4c8d-a6e5-1f0b9c8d7e6a"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The submission id is unknown or belongs to another account.","recovery":{"operation":"forms.submissions.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The submission id is unknown or belongs to another account.","recovery":{"operation":"forms.submissions.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The submission id is unknown or belongs to another account.","recovery":{"operation":"forms.submissions.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The submission id is unknown or belongs to another account.","recovery":{"operation":"forms.submissions.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The submission id is unknown or belongs to another account.","recovery":{"operation":"forms.submissions.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The submission id is unknown or belongs to another account.","recovery":{"operation":"forms.submissions.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The submission id is unknown or belongs to another account.","recovery":{"operation":"forms.submissions.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The submission id is unknown or belongs to another account.","recovery":{"operation":"forms.submissions.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The submission id is unknown or belongs to another account.","recovery":{"operation":"forms.submissions.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/forms.submissions.list":{"post":{"tags":["Operations: forms"],"operationId":"forms.submissions.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"forms.submissions.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"forms.submissions.list","description":"Returns one page of form submissions for the account, newest first, each enriched with the field definitions of the form version that was submitted. Filter by formId, status (received, processed, failed, spam), submittedFrom/submittedTo or startedFrom/startedTo time windows, UTM key/value presence, user agent, classified device, or testMode. Spam is excluded unless status is set explicitly, and discarded spam never appears. Paging: limit (1-100, default 50) and cursor; pass nextCursor back until it is null. totalCount counts every match across pages. canReviewSpam tells whether the caller may restore or discard quarantined spam (forms.submissions.restore and forms.submissions.discard). Errors: FORBIDDEN when the caller is not an active member of the account. Read one row in full with forms.submissions.get and its id.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsListInput"},"examples":{"Processed submissions of one form in a week":{"summary":"Processed submissions of one form in a week","value":{"formId":"5b8e1c3d-2f4a-4d6e-8b9c-0a1d2e3f4b5c","status":"processed","submittedFrom":"2026-09-07T00:00:00.000Z","submittedTo":"2026-09-14T00:00:00.000Z","limit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/forms.submissions.submit":{"post":{"tags":["Operations: forms"],"operationId":"forms.submissions.submit","x-moreflow-stability":"stable","x-moreflow-operation-id":"forms.submissions.submit","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"forms.submissions.submit","description":"Validates the published fields, origin, spam protection and idempotency key, then stores the submission and records its CRM processing outcome. Replays return the original submission; provider side-effect failures stay on the stored submission for retry.","x-moreflow-contract-version":"1","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitInput"},"examples":{"Submit the published email field":{"summary":"Submit the published email field","value":{"formId":"80000000-0000-4000-8000-000000000001","data":{"email":"client@example.test"}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitOutput"},"examples":{"Submit the published email field":{"summary":"Submit the published email field","value":{"id":"90000000-0000-4000-8000-000000000001","accountId":"3f8b2c1d-6a4e-4b9f-9d2e-7c5a1b8e4f60","formId":"80000000-0000-4000-8000-000000000001","formVersionId":null,"idempotencyKey":null,"status":"received","lifecycle":"received","clientId":null,"progress":null,"ipAddress":null,"userAgent":null,"utmParams":null,"referrer":null,"formData":null,"gclid":null,"gbraid":null,"wbraid":null,"gadSource":null,"fbclid":null,"fbp":null,"fbc":null,"metaEventId":null,"ttclid":null,"ttp":null,"tiktokEventId":null,"attribution":null,"payload":{"data":{"email":"client@example.test"}},"payloadHash":null,"testMode":false,"processing":null,"spamReview":null,"unparsedFields":[],"origin":null,"submittedAt":"2026-10-01T09:00:00.000Z","processedAt":null,"createdAt":"2026-10-01T09:00:00.000Z","updatedAt":"2026-10-01T09:00:00.000Z","form":null,"formVersion":null,"fieldSnapshot":[],"startedAt":null,"clientSubmittedAt":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The requested public form identifier is invalid.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The form or active version is not published.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The submission origin is not allowed by the form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"SPAM_REJECTED","when":"A filled honeypot identifies the submission as spam.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"ANTI_SPAM_REQUIRED","when":"The published form requires a Turnstile token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ANTI_SPAM_INVALID","when":"Turnstile verification rejected the submitted token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The same idempotency key was used for another payload.","recovery":{"operation":"forms.submissions.submit","requiredFields":["formId","data","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The requested public form identifier is invalid.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The form or active version is not published.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The submission origin is not allowed by the form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"SPAM_REJECTED","when":"A filled honeypot identifies the submission as spam.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"ANTI_SPAM_REQUIRED","when":"The published form requires a Turnstile token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ANTI_SPAM_INVALID","when":"Turnstile verification rejected the submitted token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The same idempotency key was used for another payload.","recovery":{"operation":"forms.submissions.submit","requiredFields":["formId","data","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The requested public form identifier is invalid.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The form or active version is not published.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The submission origin is not allowed by the form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"SPAM_REJECTED","when":"A filled honeypot identifies the submission as spam.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"ANTI_SPAM_REQUIRED","when":"The published form requires a Turnstile token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ANTI_SPAM_INVALID","when":"Turnstile verification rejected the submitted token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The same idempotency key was used for another payload.","recovery":{"operation":"forms.submissions.submit","requiredFields":["formId","data","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The requested public form identifier is invalid.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The form or active version is not published.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The submission origin is not allowed by the form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"SPAM_REJECTED","when":"A filled honeypot identifies the submission as spam.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"ANTI_SPAM_REQUIRED","when":"The published form requires a Turnstile token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ANTI_SPAM_INVALID","when":"Turnstile verification rejected the submitted token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The same idempotency key was used for another payload.","recovery":{"operation":"forms.submissions.submit","requiredFields":["formId","data","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The requested public form identifier is invalid.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The form or active version is not published.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The submission origin is not allowed by the form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"SPAM_REJECTED","when":"A filled honeypot identifies the submission as spam.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"ANTI_SPAM_REQUIRED","when":"The published form requires a Turnstile token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ANTI_SPAM_INVALID","when":"Turnstile verification rejected the submitted token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The same idempotency key was used for another payload.","recovery":{"operation":"forms.submissions.submit","requiredFields":["formId","data","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The requested public form identifier is invalid.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The form or active version is not published.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The submission origin is not allowed by the form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"SPAM_REJECTED","when":"A filled honeypot identifies the submission as spam.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"ANTI_SPAM_REQUIRED","when":"The published form requires a Turnstile token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ANTI_SPAM_INVALID","when":"Turnstile verification rejected the submitted token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The same idempotency key was used for another payload.","recovery":{"operation":"forms.submissions.submit","requiredFields":["formId","data","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The requested public form identifier is invalid.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The form or active version is not published.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The submission origin is not allowed by the form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"SPAM_REJECTED","when":"A filled honeypot identifies the submission as spam.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"ANTI_SPAM_REQUIRED","when":"The published form requires a Turnstile token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ANTI_SPAM_INVALID","when":"Turnstile verification rejected the submitted token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The same idempotency key was used for another payload.","recovery":{"operation":"forms.submissions.submit","requiredFields":["formId","data","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The requested public form identifier is invalid.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The form or active version is not published.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The submission origin is not allowed by the form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"SPAM_REJECTED","when":"A filled honeypot identifies the submission as spam.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"ANTI_SPAM_REQUIRED","when":"The published form requires a Turnstile token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ANTI_SPAM_INVALID","when":"Turnstile verification rejected the submitted token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The same idempotency key was used for another payload.","recovery":{"operation":"forms.submissions.submit","requiredFields":["formId","data","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The requested public form identifier is invalid.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The form or active version is not published.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The submission origin is not allowed by the form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"SPAM_REJECTED","when":"A filled honeypot identifies the submission as spam.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"ANTI_SPAM_REQUIRED","when":"The published form requires a Turnstile token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ANTI_SPAM_INVALID","when":"Turnstile verification rejected the submitted token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The same idempotency key was used for another payload.","recovery":{"operation":"forms.submissions.submit","requiredFields":["formId","data","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORM_NOT_FOUND","when":"The requested public form identifier is invalid.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"INVALID_STATE","when":"The form or active version is not published.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ORIGIN_NOT_ALLOWED","when":"The submission origin is not allowed by the form.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"SPAM_REJECTED","when":"A filled honeypot identifies the submission as spam.","recovery":{"operation":"operations.discovery.get","args":{"id":"forms.submissions.submit"}}},{"code":"ANTI_SPAM_REQUIRED","when":"The published form requires a Turnstile token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"ANTI_SPAM_INVALID","when":"Turnstile verification rejected the submitted token.","recovery":{"operation":"forms.public.get","requiredFields":["formId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The same idempotency key was used for another payload.","recovery":{"operation":"forms.submissions.submit","requiredFields":["formId","data","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationFormsSubmissionsSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/invoices.create":{"post":{"tags":["Operations: invoices"],"operationId":"invoices.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"invoices.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"invoices.create","description":"Inserts a new invoice in draft status for the given client, validates the client (and contract, when contractId is set) exists in the account, assigns the next invoice number unless one is supplied, and publishes an operation event. Items are line objects (name, quantity, amountNetCents, amountGrossCents, taxRateBps); totals are stored as cents; omitted totals are derived with the VAT computed once per rate on the summed net (EN 16931 BR-CO-17). Every invoice is an EN 16931 e-invoice, so missing seller or buyer data it legally needs fails with VALIDATION_ERROR (reason e_invoice_data_incomplete), listing each gap in context.issues with its fix (check first with invoices.eInvoiceReadiness.get). servicePeriodStart/End state the service date or period printed on the invoice. The draft moves no money and confirmation is governed by policy; use invoices.status.update to send, mark paid, or cancel afterwards.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateInput"},"examples":{"Invoice a consulting package due in 14 days":{"summary":"Invoice a consulting package due in 14 days","value":{"clientId":"9a4d7e21-3c8b-4f5a-b6d2-1e0f8c7a9b34","currency":"EUR","type":"manual","items":[{"name":"Beratungspaket September","quantity":1,"amountNetCents":250000,"amountGrossCents":297500,"taxRateBps":1900}],"totalNetCents":250000,"totalGrossCents":297500,"dueAt":"2026-09-28T00:00:00.000Z"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"contracts.get","requiredFields":["contractId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/invoices.downloadUrl.get":{"post":{"tags":["Operations: invoices"],"operationId":"invoices.downloadUrl.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"invoices.downloadUrl.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"invoices.downloadUrl.get","description":"Create an authenticated commercial invoice download URL.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVOICE_FILE_UNAVAILABLE","when":"The invoice has no currently downloadable PDF artifact.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"STORAGE_PRESIGN_ERROR","when":"The stored document could not be given a download URL."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVOICE_FILE_UNAVAILABLE","when":"The invoice has no currently downloadable PDF artifact.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"STORAGE_PRESIGN_ERROR","when":"The stored document could not be given a download URL."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVOICE_FILE_UNAVAILABLE","when":"The invoice has no currently downloadable PDF artifact.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"STORAGE_PRESIGN_ERROR","when":"The stored document could not be given a download URL."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVOICE_FILE_UNAVAILABLE","when":"The invoice has no currently downloadable PDF artifact.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"STORAGE_PRESIGN_ERROR","when":"The stored document could not be given a download URL."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVOICE_FILE_UNAVAILABLE","when":"The invoice has no currently downloadable PDF artifact.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"STORAGE_PRESIGN_ERROR","when":"The stored document could not be given a download URL."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVOICE_FILE_UNAVAILABLE","when":"The invoice has no currently downloadable PDF artifact.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"STORAGE_PRESIGN_ERROR","when":"The stored document could not be given a download URL."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVOICE_FILE_UNAVAILABLE","when":"The invoice has no currently downloadable PDF artifact.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"STORAGE_PRESIGN_ERROR","when":"The stored document could not be given a download URL."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVOICE_FILE_UNAVAILABLE","when":"The invoice has no currently downloadable PDF artifact.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"STORAGE_PRESIGN_ERROR","when":"The stored document could not be given a download URL."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVOICE_FILE_UNAVAILABLE","when":"The invoice has no currently downloadable PDF artifact.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"STORAGE_PRESIGN_ERROR","when":"The stored document could not be given a download URL."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/invoices.get":{"post":{"tags":["Operations: invoices"],"operationId":"invoices.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"invoices.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"invoices.get","description":"Loads a single invoice belonging to the account by invoiceId and returns its canonical invoice record. Returns NOT_FOUND when the invoice does not exist or belongs to another account. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesGetInput"},"examples":{"Read an invoice referenced by a client":{"summary":"Read an invoice referenced by a client","value":{"invoiceId":"2f6a9c3e-7d1b-4e5f-8c2a-9b4d6e0f1a3c"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/invoices.list":{"post":{"tags":["Operations: invoices"],"operationId":"invoices.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"invoices.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"invoices.list","description":"List commercial invoices sorted by invoice number.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesListInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"invoices.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"invoices.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"invoices.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"invoices.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"invoices.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"invoices.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"invoices.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"invoices.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"invoices.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/invoices.status.update":{"post":{"tags":["Operations: invoices"],"operationId":"invoices.status.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"invoices.status.update","x-moreflow-agent":{"effect":"financial_commitment","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"invoices.status.update","description":"Validates that nextStatus is a legal transition from the current invoice status, updates the invoice, and writes or updates the payment ledger row (for example a settlement on paid, a reversal on refunded), then publishes an operation event that downstream automations and conversion tracking consume. Cancelling an issued (non-draft) invoice writes exactly one linked cancellation invoice in the same transaction: its own number from the invoice sequence, the original lines and totals negated on its PDF, emailed to the client, and listed on the original as correctionDocuments. A draft is cancelled without a document. Re-sending paid for an already paid invoice, or cancelled for an invoice whose cancellation document exists, is a safe convergence retry. Requires billing membership and always requires confirmation; status changes are not undone automatically.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateInput"},"examples":{"Mark an invoice as paid after a bank transfer arrived":{"summary":"Mark an invoice as paid after a bank transfer arrived","value":{"invoiceId":"5b8e3d1c-7f2a-4c9e-8d6b-0a4f1e2c3b57","nextStatus":"paid"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"invoices.get","requiredFields":["invoiceId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.status.update"}}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/invoices.summary.get":{"post":{"tags":["Operations: invoices"],"operationId":"invoices.summary.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"invoices.summary.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"invoices.summary.get","description":"Takes the same filters as invoices.list (clientId, statuses, dateFrom/dateTo on createdAt, query) and returns the matched count, gross/net volume per currency, a per-status breakdown, status facet counts that ignore the statuses filter, and the unfiltered account total. Cancellation invoices and credit notes subtract. Drafts, and cancelled invoices together with their cancellation documents, count toward matched.count but not toward matched.totals unless statuses includes draft or cancelled respectively; refund credit notes on paid or refunded invoices keep subtracting. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetInput"},"examples":{"Unpaid and overdue volume in Q3":{"summary":"Unpaid and overdue volume in Q3","value":{"statuses":["sent","overdue"],"dateFrom":"2026-07-01T00:00:00.000Z","dateTo":"2026-09-30T23:59:59.999Z"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/invoices.totals.get":{"post":{"tags":["Operations: invoices"],"operationId":"invoices.totals.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"invoices.totals.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"invoices.totals.get","description":"Computes the gross amount per unit (unit net plus VAT, rounded to the cent), line net, VAT and gross, the VAT breakdown grouped by rate with the VAT computed once per rate on the summed net (EN 16931 BR-CO-17), and the invoice totals (net plus the per-rate VAT) from line items given as unit net cents and VAT percentages. Read-only: it never reserves an invoice number or writes a row. The returned items are in the stored invoice shape, so passing them to invoices.create with the same currency stores the same totals.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetInput"},"examples":{"Preview a consulting invoice with 19 and 7 percent VAT":{"summary":"Preview a consulting invoice with 19 and 7 percent VAT","value":{"currency":"EUR","items":[{"name":"Beratungspaket September","quantity":1,"unitNetCents":250000,"vatPercentage":19},{"name":"Fachbuch","quantity":2,"unitNetCents":1000,"vatPercentage":7}]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.totals.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesTotalsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/invoices.workspace.get":{"post":{"tags":["Operations: invoices"],"operationId":"invoices.workspace.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"invoices.workspace.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"invoices.workspace.get","description":"Loads one invoice of the account by invoiceId, with the same item shape as invoices.list (client name and email, hasFile, and the capabilities that gate download, send, mark-sent, mark-paid, cancel and refund). Also returns the payment ledger rows linked to the invoice and the public pay link of an existing active short link, or null when none exists. Read-only: it never creates a payment link. Returns NOT_FOUND with a recovery to invoices.list when the invoice is missing or belongs to another account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetInput"},"examples":{"Read an invoice before deciding whether it can be emailed":{"summary":"Read an invoice before deciding whether it can be emailed","value":{"invoiceId":"5b8e3d1c-7f2a-4c9e-8d6b-0a4f1e2c3b57"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"invoices.workspace.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationInvoicesWorkspaceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.businessContext.get":{"post":{"tags":["Operations: marketing.businessContext"],"operationId":"marketing.businessContext.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"marketing.businessContext.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.businessContext.get","description":"Read the known business context (website, audience, offer, services, capacity, budget) with per-field provenance and material gaps.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.businessContext.update":{"post":{"tags":["Operations: marketing.businessContext"],"operationId":"marketing.businessContext.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"marketing.businessContext.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.businessContext.update","description":"Correct or add business-context fields. Changed values are user-entered; unchanged inferred values become confirmed.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"BUSINESS_CONTEXT_NOT_FOUND","when":"The business context row no longer exists for this account.","recovery":{"operation":"marketing.businessContext.get"}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed concurrently; re-read it before retrying the correction.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"BUSINESS_CONTEXT_NOT_FOUND","when":"The business context row no longer exists for this account.","recovery":{"operation":"marketing.businessContext.get"}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed concurrently; re-read it before retrying the correction.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"BUSINESS_CONTEXT_NOT_FOUND","when":"The business context row no longer exists for this account.","recovery":{"operation":"marketing.businessContext.get"}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed concurrently; re-read it before retrying the correction.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"BUSINESS_CONTEXT_NOT_FOUND","when":"The business context row no longer exists for this account.","recovery":{"operation":"marketing.businessContext.get"}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed concurrently; re-read it before retrying the correction.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"BUSINESS_CONTEXT_NOT_FOUND","when":"The business context row no longer exists for this account.","recovery":{"operation":"marketing.businessContext.get"}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed concurrently; re-read it before retrying the correction.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"BUSINESS_CONTEXT_NOT_FOUND","when":"The business context row no longer exists for this account.","recovery":{"operation":"marketing.businessContext.get"}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed concurrently; re-read it before retrying the correction.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"BUSINESS_CONTEXT_NOT_FOUND","when":"The business context row no longer exists for this account.","recovery":{"operation":"marketing.businessContext.get"}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed concurrently; re-read it before retrying the correction.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"BUSINESS_CONTEXT_NOT_FOUND","when":"The business context row no longer exists for this account.","recovery":{"operation":"marketing.businessContext.get"}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed concurrently; re-read it before retrying the correction.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"BUSINESS_CONTEXT_NOT_FOUND","when":"The business context row no longer exists for this account.","recovery":{"operation":"marketing.businessContext.get"}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed concurrently; re-read it before retrying the correction.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"BUSINESS_CONTEXT_NOT_FOUND","when":"The business context row no longer exists for this account.","recovery":{"operation":"marketing.businessContext.get"}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed concurrently; re-read it before retrying the correction.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.businessContext.websiteDraft.create":{"post":{"tags":["Operations: marketing.businessContext"],"operationId":"marketing.businessContext.websiteDraft.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"marketing.businessContext.websiteDraft.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.businessContext.websiteDraft.create","description":"Draft audience and offer from a public company website as inferred context. Without url, uses the saved website or the company profile website. Never overwrites confirmed or entered values.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_UNAVAILABLE","when":"Business context generation is not configured on this deployment; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed while the website was read; re-read it, then retry the import.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_UNAVAILABLE","when":"Business context generation is not configured on this deployment; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed while the website was read; re-read it, then retry the import.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_UNAVAILABLE","when":"Business context generation is not configured on this deployment; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed while the website was read; re-read it, then retry the import.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_UNAVAILABLE","when":"Business context generation is not configured on this deployment; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed while the website was read; re-read it, then retry the import.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_UNAVAILABLE","when":"Business context generation is not configured on this deployment; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed while the website was read; re-read it, then retry the import.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_UNAVAILABLE","when":"Business context generation is not configured on this deployment; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed while the website was read; re-read it, then retry the import.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_UNAVAILABLE","when":"Business context generation is not configured on this deployment; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed while the website was read; re-read it, then retry the import.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_UNAVAILABLE","when":"Business context generation is not configured on this deployment; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed while the website was read; re-read it, then retry the import.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_UNAVAILABLE","when":"Business context generation is not configured on this deployment; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed while the website was read; re-read it, then retry the import.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_UNAVAILABLE","when":"Business context generation is not configured on this deployment; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.businessContext.websiteDraft.create"}}},{"code":"BUSINESS_CONTEXT_CONFLICT","when":"The business context changed while the website was read; re-read it, then retry the import.","recovery":{"operation":"marketing.businessContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingBusinessContextWebsiteDraftCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.actions.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.actions.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.actions.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.actions.create","description":"Manage a fenced SEO action from planning through trusted evidence. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"workId":"seo-work-1","title":"Measure the CRM page","kind":"measurement","allowedOperationIds":["marketing.seo.performance.observations.list"],"fenceToken":"fence-1","operationId":"marketing.seo.performance.observations.list","summary":"Capture a Search Console baseline.","idempotencyKey":"action-create-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","siteId":null,"createdByUserId":"12345678-1234-4234-8234-123456789abe","title":"Measure service-page visibility","description":null,"kind":"measurement","priority":50,"targetDate":null,"planningStatus":"draft","executionStatus":"idle","reviewStatus":"pending","publicationStatus":"not_applicable","measurementStatus":"measuring","control":"manual","improvement":null,"aiEvaluation":null,"handoff":null,"spec":null,"allowedOperationIds":["marketing.seo.rankTracking.run"],"requiresReview":true,"estimatedCostCents":null,"maxCostCents":null,"reservedCostCents":0,"budgetReservationId":null,"actualCostCents":null,"lastError":null,"links":{"executionIds":[],"measurementIds":[],"opportunityId":null,"findingId":null,"contentRevisionId":null,"reviewRequestId":null,"repositoryChangeId":null,"pullRequestUrl":null,"previewUrl":null,"publicationId":null},"authorityRevision":1,"fenceToken":"fence-example","revision":1,"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastProgressAt":null,"currency":"EUR","preview":null,"verification":{"strategy":"none","status":"not_applicable"},"capabilities":{"canRequestReview":true,"canApprove":true,"canReject":true,"canExecute":false,"canCancel":false}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.actions.execute":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.actions.execute","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.actions.execute","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"summary":"marketing.seo.actions.execute","description":"Execute one approved SEO action through its typed executor. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"actionId":"seo-action-1","idempotencyKey":"seo-execute-2026"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","siteId":null,"createdByUserId":"12345678-1234-4234-8234-123456789abe","title":"Measure service-page visibility","description":null,"kind":"measurement","priority":50,"targetDate":null,"planningStatus":"completed","executionStatus":"succeeded","reviewStatus":"approved","publicationStatus":"not_applicable","measurementStatus":"measuring","control":"manual","improvement":null,"aiEvaluation":null,"handoff":null,"spec":null,"allowedOperationIds":["marketing.seo.rankTracking.run"],"requiresReview":true,"estimatedCostCents":null,"maxCostCents":null,"reservedCostCents":0,"budgetReservationId":null,"actualCostCents":null,"lastError":null,"links":{"executionIds":[],"measurementIds":[],"opportunityId":null,"findingId":null,"contentRevisionId":null,"reviewRequestId":null,"repositoryChangeId":null,"pullRequestUrl":null,"previewUrl":null,"publicationId":null},"authorityRevision":1,"fenceToken":"fence-example","revision":1,"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastProgressAt":null,"currency":"EUR","preview":null,"verification":{"strategy":"none","status":"not_applicable"},"capabilities":{"canRequestReview":false,"canApprove":false,"canReject":false,"canExecute":false,"canCancel":false},"executionId":"12345678-1234-4234-8234-123456789abd","status":"succeeded","result":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action id does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_REVIEW_REQUIRED","when":"The current action revision requires approval before execution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_MISSING","when":"The action has no stored executor specification.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_INVALID","when":"The stored executor is not registered.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_PARAMS_INVALID","when":"The stored executor parameters no longer validate, or an AI recheck names no tracked question or one that is no longer tracked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The selected operation is not authorized by this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_UNAVAILABLE","when":"The canonical dispatch or repository adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TAKEN_OVER","when":"A manual action cannot be dispatched by Flow or a service.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_AUTOMATION_PAUSED","when":"A service or Flow tries to dispatch while site automation is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_APPROVAL_REVOKED","when":"The consent that approved this action is no longer valid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_START_CONFLICT","when":"The action changes while starting or rechecking consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_REVERT_PENDING","when":"A broken full-autonomy change must be reverted before new work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_IMPROVEMENT_BASELINE_REQUIRED","when":"The page improvement adapter cannot capture a valid baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_PLAN_REPOSITORY_REQUIRED","when":"The executor needs an active connected website repository.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"A file does not match the persisted artifact and approved path.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"SEO_ACTION_EXECUTION_LINK_FAILED","when":"The execution or its completed result cannot be durably linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_AUTHORITY_REVOKED","when":"The authority revision, fence, delegation or member permission changes before dispatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_FAILED","when":"The invoked executor fails without a more specific declared domain reason.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TARGET_REQUIRED","when":"The executor needs an exact editable website page.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_BASELINE_REQUIRED","when":"A structured page edit requires an immutable baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_SEARCH_CONSOLE_PROPERTY_REQUIRED","when":"Index executors need the connected site Search Console property.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","searchConsoleProperty"]}},{"code":"SEO_ACTION_AUDIT_REQUIRED","when":"Legacy: no longer returned. AI rechecks now re-run their tracked question instead of a stored audit.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"A completed or cancelled action cannot start again.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TRANSITION_INVALID","when":"The current action planning or execution state cannot start.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action id does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_REVIEW_REQUIRED","when":"The current action revision requires approval before execution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_MISSING","when":"The action has no stored executor specification.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_INVALID","when":"The stored executor is not registered.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_PARAMS_INVALID","when":"The stored executor parameters no longer validate, or an AI recheck names no tracked question or one that is no longer tracked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The selected operation is not authorized by this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_UNAVAILABLE","when":"The canonical dispatch or repository adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TAKEN_OVER","when":"A manual action cannot be dispatched by Flow or a service.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_AUTOMATION_PAUSED","when":"A service or Flow tries to dispatch while site automation is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_APPROVAL_REVOKED","when":"The consent that approved this action is no longer valid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_START_CONFLICT","when":"The action changes while starting or rechecking consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_REVERT_PENDING","when":"A broken full-autonomy change must be reverted before new work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_IMPROVEMENT_BASELINE_REQUIRED","when":"The page improvement adapter cannot capture a valid baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_PLAN_REPOSITORY_REQUIRED","when":"The executor needs an active connected website repository.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"A file does not match the persisted artifact and approved path.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"SEO_ACTION_EXECUTION_LINK_FAILED","when":"The execution or its completed result cannot be durably linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_AUTHORITY_REVOKED","when":"The authority revision, fence, delegation or member permission changes before dispatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_FAILED","when":"The invoked executor fails without a more specific declared domain reason.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TARGET_REQUIRED","when":"The executor needs an exact editable website page.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_BASELINE_REQUIRED","when":"A structured page edit requires an immutable baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_SEARCH_CONSOLE_PROPERTY_REQUIRED","when":"Index executors need the connected site Search Console property.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","searchConsoleProperty"]}},{"code":"SEO_ACTION_AUDIT_REQUIRED","when":"Legacy: no longer returned. AI rechecks now re-run their tracked question instead of a stored audit.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"A completed or cancelled action cannot start again.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TRANSITION_INVALID","when":"The current action planning or execution state cannot start.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action id does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_REVIEW_REQUIRED","when":"The current action revision requires approval before execution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_MISSING","when":"The action has no stored executor specification.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_INVALID","when":"The stored executor is not registered.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_PARAMS_INVALID","when":"The stored executor parameters no longer validate, or an AI recheck names no tracked question or one that is no longer tracked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The selected operation is not authorized by this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_UNAVAILABLE","when":"The canonical dispatch or repository adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TAKEN_OVER","when":"A manual action cannot be dispatched by Flow or a service.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_AUTOMATION_PAUSED","when":"A service or Flow tries to dispatch while site automation is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_APPROVAL_REVOKED","when":"The consent that approved this action is no longer valid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_START_CONFLICT","when":"The action changes while starting or rechecking consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_REVERT_PENDING","when":"A broken full-autonomy change must be reverted before new work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_IMPROVEMENT_BASELINE_REQUIRED","when":"The page improvement adapter cannot capture a valid baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_PLAN_REPOSITORY_REQUIRED","when":"The executor needs an active connected website repository.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"A file does not match the persisted artifact and approved path.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"SEO_ACTION_EXECUTION_LINK_FAILED","when":"The execution or its completed result cannot be durably linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_AUTHORITY_REVOKED","when":"The authority revision, fence, delegation or member permission changes before dispatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_FAILED","when":"The invoked executor fails without a more specific declared domain reason.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TARGET_REQUIRED","when":"The executor needs an exact editable website page.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_BASELINE_REQUIRED","when":"A structured page edit requires an immutable baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_SEARCH_CONSOLE_PROPERTY_REQUIRED","when":"Index executors need the connected site Search Console property.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","searchConsoleProperty"]}},{"code":"SEO_ACTION_AUDIT_REQUIRED","when":"Legacy: no longer returned. AI rechecks now re-run their tracked question instead of a stored audit.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"A completed or cancelled action cannot start again.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TRANSITION_INVALID","when":"The current action planning or execution state cannot start.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action id does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_REVIEW_REQUIRED","when":"The current action revision requires approval before execution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_MISSING","when":"The action has no stored executor specification.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_INVALID","when":"The stored executor is not registered.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_PARAMS_INVALID","when":"The stored executor parameters no longer validate, or an AI recheck names no tracked question or one that is no longer tracked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The selected operation is not authorized by this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_UNAVAILABLE","when":"The canonical dispatch or repository adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TAKEN_OVER","when":"A manual action cannot be dispatched by Flow or a service.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_AUTOMATION_PAUSED","when":"A service or Flow tries to dispatch while site automation is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_APPROVAL_REVOKED","when":"The consent that approved this action is no longer valid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_START_CONFLICT","when":"The action changes while starting or rechecking consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_REVERT_PENDING","when":"A broken full-autonomy change must be reverted before new work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_IMPROVEMENT_BASELINE_REQUIRED","when":"The page improvement adapter cannot capture a valid baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_PLAN_REPOSITORY_REQUIRED","when":"The executor needs an active connected website repository.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"A file does not match the persisted artifact and approved path.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"SEO_ACTION_EXECUTION_LINK_FAILED","when":"The execution or its completed result cannot be durably linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_AUTHORITY_REVOKED","when":"The authority revision, fence, delegation or member permission changes before dispatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_FAILED","when":"The invoked executor fails without a more specific declared domain reason.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TARGET_REQUIRED","when":"The executor needs an exact editable website page.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_BASELINE_REQUIRED","when":"A structured page edit requires an immutable baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_SEARCH_CONSOLE_PROPERTY_REQUIRED","when":"Index executors need the connected site Search Console property.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","searchConsoleProperty"]}},{"code":"SEO_ACTION_AUDIT_REQUIRED","when":"Legacy: no longer returned. AI rechecks now re-run their tracked question instead of a stored audit.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"A completed or cancelled action cannot start again.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TRANSITION_INVALID","when":"The current action planning or execution state cannot start.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action id does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_REVIEW_REQUIRED","when":"The current action revision requires approval before execution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_MISSING","when":"The action has no stored executor specification.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_INVALID","when":"The stored executor is not registered.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_PARAMS_INVALID","when":"The stored executor parameters no longer validate, or an AI recheck names no tracked question or one that is no longer tracked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The selected operation is not authorized by this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_UNAVAILABLE","when":"The canonical dispatch or repository adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TAKEN_OVER","when":"A manual action cannot be dispatched by Flow or a service.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_AUTOMATION_PAUSED","when":"A service or Flow tries to dispatch while site automation is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_APPROVAL_REVOKED","when":"The consent that approved this action is no longer valid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_START_CONFLICT","when":"The action changes while starting or rechecking consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_REVERT_PENDING","when":"A broken full-autonomy change must be reverted before new work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_IMPROVEMENT_BASELINE_REQUIRED","when":"The page improvement adapter cannot capture a valid baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_PLAN_REPOSITORY_REQUIRED","when":"The executor needs an active connected website repository.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"A file does not match the persisted artifact and approved path.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"SEO_ACTION_EXECUTION_LINK_FAILED","when":"The execution or its completed result cannot be durably linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_AUTHORITY_REVOKED","when":"The authority revision, fence, delegation or member permission changes before dispatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_FAILED","when":"The invoked executor fails without a more specific declared domain reason.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TARGET_REQUIRED","when":"The executor needs an exact editable website page.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_BASELINE_REQUIRED","when":"A structured page edit requires an immutable baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_SEARCH_CONSOLE_PROPERTY_REQUIRED","when":"Index executors need the connected site Search Console property.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","searchConsoleProperty"]}},{"code":"SEO_ACTION_AUDIT_REQUIRED","when":"Legacy: no longer returned. AI rechecks now re-run their tracked question instead of a stored audit.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"A completed or cancelled action cannot start again.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TRANSITION_INVALID","when":"The current action planning or execution state cannot start.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action id does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_REVIEW_REQUIRED","when":"The current action revision requires approval before execution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_MISSING","when":"The action has no stored executor specification.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_INVALID","when":"The stored executor is not registered.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_PARAMS_INVALID","when":"The stored executor parameters no longer validate, or an AI recheck names no tracked question or one that is no longer tracked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The selected operation is not authorized by this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_UNAVAILABLE","when":"The canonical dispatch or repository adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TAKEN_OVER","when":"A manual action cannot be dispatched by Flow or a service.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_AUTOMATION_PAUSED","when":"A service or Flow tries to dispatch while site automation is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_APPROVAL_REVOKED","when":"The consent that approved this action is no longer valid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_START_CONFLICT","when":"The action changes while starting or rechecking consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_REVERT_PENDING","when":"A broken full-autonomy change must be reverted before new work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_IMPROVEMENT_BASELINE_REQUIRED","when":"The page improvement adapter cannot capture a valid baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_PLAN_REPOSITORY_REQUIRED","when":"The executor needs an active connected website repository.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"A file does not match the persisted artifact and approved path.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"SEO_ACTION_EXECUTION_LINK_FAILED","when":"The execution or its completed result cannot be durably linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_AUTHORITY_REVOKED","when":"The authority revision, fence, delegation or member permission changes before dispatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_FAILED","when":"The invoked executor fails without a more specific declared domain reason.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TARGET_REQUIRED","when":"The executor needs an exact editable website page.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_BASELINE_REQUIRED","when":"A structured page edit requires an immutable baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_SEARCH_CONSOLE_PROPERTY_REQUIRED","when":"Index executors need the connected site Search Console property.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","searchConsoleProperty"]}},{"code":"SEO_ACTION_AUDIT_REQUIRED","when":"Legacy: no longer returned. AI rechecks now re-run their tracked question instead of a stored audit.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"A completed or cancelled action cannot start again.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TRANSITION_INVALID","when":"The current action planning or execution state cannot start.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action id does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_REVIEW_REQUIRED","when":"The current action revision requires approval before execution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_MISSING","when":"The action has no stored executor specification.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_INVALID","when":"The stored executor is not registered.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_PARAMS_INVALID","when":"The stored executor parameters no longer validate, or an AI recheck names no tracked question or one that is no longer tracked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The selected operation is not authorized by this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_UNAVAILABLE","when":"The canonical dispatch or repository adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TAKEN_OVER","when":"A manual action cannot be dispatched by Flow or a service.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_AUTOMATION_PAUSED","when":"A service or Flow tries to dispatch while site automation is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_APPROVAL_REVOKED","when":"The consent that approved this action is no longer valid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_START_CONFLICT","when":"The action changes while starting or rechecking consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_REVERT_PENDING","when":"A broken full-autonomy change must be reverted before new work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_IMPROVEMENT_BASELINE_REQUIRED","when":"The page improvement adapter cannot capture a valid baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_PLAN_REPOSITORY_REQUIRED","when":"The executor needs an active connected website repository.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"A file does not match the persisted artifact and approved path.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"SEO_ACTION_EXECUTION_LINK_FAILED","when":"The execution or its completed result cannot be durably linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_AUTHORITY_REVOKED","when":"The authority revision, fence, delegation or member permission changes before dispatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_FAILED","when":"The invoked executor fails without a more specific declared domain reason.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TARGET_REQUIRED","when":"The executor needs an exact editable website page.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_BASELINE_REQUIRED","when":"A structured page edit requires an immutable baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_SEARCH_CONSOLE_PROPERTY_REQUIRED","when":"Index executors need the connected site Search Console property.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","searchConsoleProperty"]}},{"code":"SEO_ACTION_AUDIT_REQUIRED","when":"Legacy: no longer returned. AI rechecks now re-run their tracked question instead of a stored audit.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"A completed or cancelled action cannot start again.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TRANSITION_INVALID","when":"The current action planning or execution state cannot start.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action id does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_REVIEW_REQUIRED","when":"The current action revision requires approval before execution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_MISSING","when":"The action has no stored executor specification.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_INVALID","when":"The stored executor is not registered.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_PARAMS_INVALID","when":"The stored executor parameters no longer validate, or an AI recheck names no tracked question or one that is no longer tracked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The selected operation is not authorized by this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_UNAVAILABLE","when":"The canonical dispatch or repository adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TAKEN_OVER","when":"A manual action cannot be dispatched by Flow or a service.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_AUTOMATION_PAUSED","when":"A service or Flow tries to dispatch while site automation is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_APPROVAL_REVOKED","when":"The consent that approved this action is no longer valid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_START_CONFLICT","when":"The action changes while starting or rechecking consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_REVERT_PENDING","when":"A broken full-autonomy change must be reverted before new work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_IMPROVEMENT_BASELINE_REQUIRED","when":"The page improvement adapter cannot capture a valid baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_PLAN_REPOSITORY_REQUIRED","when":"The executor needs an active connected website repository.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"A file does not match the persisted artifact and approved path.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"SEO_ACTION_EXECUTION_LINK_FAILED","when":"The execution or its completed result cannot be durably linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_AUTHORITY_REVOKED","when":"The authority revision, fence, delegation or member permission changes before dispatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_FAILED","when":"The invoked executor fails without a more specific declared domain reason.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TARGET_REQUIRED","when":"The executor needs an exact editable website page.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_BASELINE_REQUIRED","when":"A structured page edit requires an immutable baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_SEARCH_CONSOLE_PROPERTY_REQUIRED","when":"Index executors need the connected site Search Console property.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","searchConsoleProperty"]}},{"code":"SEO_ACTION_AUDIT_REQUIRED","when":"Legacy: no longer returned. AI rechecks now re-run their tracked question instead of a stored audit.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"A completed or cancelled action cannot start again.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TRANSITION_INVALID","when":"The current action planning or execution state cannot start.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action id does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_REVIEW_REQUIRED","when":"The current action revision requires approval before execution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_MISSING","when":"The action has no stored executor specification.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_INVALID","when":"The stored executor is not registered.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_PARAMS_INVALID","when":"The stored executor parameters no longer validate, or an AI recheck names no tracked question or one that is no longer tracked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The selected operation is not authorized by this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_UNAVAILABLE","when":"The canonical dispatch or repository adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TAKEN_OVER","when":"A manual action cannot be dispatched by Flow or a service.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_AUTOMATION_PAUSED","when":"A service or Flow tries to dispatch while site automation is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_APPROVAL_REVOKED","when":"The consent that approved this action is no longer valid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_START_CONFLICT","when":"The action changes while starting or rechecking consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_REVERT_PENDING","when":"A broken full-autonomy change must be reverted before new work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_IMPROVEMENT_BASELINE_REQUIRED","when":"The page improvement adapter cannot capture a valid baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_PLAN_REPOSITORY_REQUIRED","when":"The executor needs an active connected website repository.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"A file does not match the persisted artifact and approved path.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"SEO_ACTION_EXECUTION_LINK_FAILED","when":"The execution or its completed result cannot be durably linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_AUTHORITY_REVOKED","when":"The authority revision, fence, delegation or member permission changes before dispatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_FAILED","when":"The invoked executor fails without a more specific declared domain reason.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TARGET_REQUIRED","when":"The executor needs an exact editable website page.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_BASELINE_REQUIRED","when":"A structured page edit requires an immutable baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_SEARCH_CONSOLE_PROPERTY_REQUIRED","when":"Index executors need the connected site Search Console property.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","searchConsoleProperty"]}},{"code":"SEO_ACTION_AUDIT_REQUIRED","when":"Legacy: no longer returned. AI rechecks now re-run their tracked question instead of a stored audit.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"A completed or cancelled action cannot start again.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TRANSITION_INVALID","when":"The current action planning or execution state cannot start.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action id does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_REVIEW_REQUIRED","when":"The current action revision requires approval before execution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_MISSING","when":"The action has no stored executor specification.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_INVALID","when":"The stored executor is not registered.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_EXECUTOR_PARAMS_INVALID","when":"The stored executor parameters no longer validate, or an AI recheck names no tracked question or one that is no longer tracked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The selected operation is not authorized by this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_UNAVAILABLE","when":"The canonical dispatch or repository adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TAKEN_OVER","when":"A manual action cannot be dispatched by Flow or a service.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_AUTOMATION_PAUSED","when":"A service or Flow tries to dispatch while site automation is paused.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_APPROVAL_REVOKED","when":"The consent that approved this action is no longer valid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_START_CONFLICT","when":"The action changes while starting or rechecking consent.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_FULL_AUTONOMY_REVERT_PENDING","when":"A broken full-autonomy change must be reverted before new work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_IMPROVEMENT_BASELINE_REQUIRED","when":"The page improvement adapter cannot capture a valid baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_PLAN_REPOSITORY_REQUIRED","when":"The executor needs an active connected website repository.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"A file does not match the persisted artifact and approved path.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"SEO_ACTION_EXECUTION_LINK_FAILED","when":"The execution or its completed result cannot be durably linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_AUTHORITY_REVOKED","when":"The authority revision, fence, delegation or member permission changes before dispatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_EXECUTOR_FAILED","when":"The invoked executor fails without a more specific declared domain reason.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TARGET_REQUIRED","when":"The executor needs an exact editable website page.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_BASELINE_REQUIRED","when":"A structured page edit requires an immutable baseline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_SEARCH_CONSOLE_PROPERTY_REQUIRED","when":"Index executors need the connected site Search Console property.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","searchConsoleProperty"]}},{"code":"SEO_ACTION_AUDIT_REQUIRED","when":"Legacy: no longer returned. AI rechecks now re-run their tracked question instead of a stored audit.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"A completed or cancelled action cannot start again.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}},{"code":"SEO_ACTION_TRANSITION_INVALID","when":"The current action planning or execution state cannot start.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.execute"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsExecuteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.actions.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.actions.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.actions.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.actions.get","description":"Manage a fenced SEO action from planning through trusted evidence. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"actionId":"seo-action-1"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","siteId":null,"createdByUserId":"12345678-1234-4234-8234-123456789abe","title":"Measure service-page visibility","description":null,"kind":"measurement","priority":50,"targetDate":null,"planningStatus":"draft","executionStatus":"idle","reviewStatus":"pending","publicationStatus":"not_applicable","measurementStatus":"measuring","control":"manual","improvement":null,"aiEvaluation":null,"handoff":null,"spec":null,"allowedOperationIds":["marketing.seo.rankTracking.run"],"requiresReview":true,"estimatedCostCents":null,"maxCostCents":null,"reservedCostCents":0,"budgetReservationId":null,"actualCostCents":null,"lastError":null,"links":{"executionIds":[],"measurementIds":[],"opportunityId":null,"findingId":null,"contentRevisionId":null,"reviewRequestId":null,"repositoryChangeId":null,"pullRequestUrl":null,"previewUrl":null,"publicationId":null},"authorityRevision":1,"fenceToken":"fence-example","revision":1,"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastProgressAt":null,"currency":"EUR","preview":null,"verification":{"strategy":"none","status":"not_applicable"},"capabilities":{"canRequestReview":true,"canApprove":true,"canReject":true,"canExecute":false,"canCancel":false},"history":{"items":[],"nextCursor":null},"reviews":[],"executions":[],"evidence":[]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.get"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.actions.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.actions.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.actions.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.actions.list","description":"Manage a fenced SEO action from planning through trusted evidence. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","siteId":null,"createdByUserId":"12345678-1234-4234-8234-123456789abe","title":"Measure service-page visibility","description":null,"kind":"measurement","priority":50,"targetDate":null,"planningStatus":"draft","executionStatus":"idle","reviewStatus":"pending","publicationStatus":"not_applicable","measurementStatus":"measuring","control":"manual","improvement":null,"aiEvaluation":null,"handoff":null,"spec":null,"allowedOperationIds":["marketing.seo.rankTracking.run"],"requiresReview":true,"estimatedCostCents":null,"maxCostCents":null,"reservedCostCents":0,"budgetReservationId":null,"actualCostCents":null,"lastError":null,"links":{"executionIds":[],"measurementIds":[],"opportunityId":null,"findingId":null,"contentRevisionId":null,"reviewRequestId":null,"repositoryChangeId":null,"pullRequestUrl":null,"previewUrl":null,"publicationId":null},"authorityRevision":1,"fenceToken":"fence-example","revision":1,"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastProgressAt":null,"currency":"EUR","preview":null,"verification":{"strategy":"none","status":"not_applicable"},"capabilities":{"canRequestReview":true,"canApprove":true,"canReject":true,"canExecute":false,"canCancel":false}}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_INVALID_CURSOR","when":"The action/history pagination cursor cannot be decoded.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_READ_FAILED","when":"The action repository is unavailable; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EVENT_INVALID","when":"The stored action history contains an event the read cannot apply.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}},{"code":"SEO_ACTION_EXECUTION_CONFLICT","when":"A concurrent execution changed the action while it was read; retry the read.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.actions.reconcile":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.actions.reconcile","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.actions.reconcile","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.actions.reconcile","description":"Reconcile a repository-backed SEO action from its durable change state. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"actionId":"seo-action-1","repositoryChangeId":"repository-change-1","idempotencyKey":"seo-reconcile-2026"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","siteId":null,"createdByUserId":"12345678-1234-4234-8234-123456789abe","title":"Measure service-page visibility","description":null,"kind":"measurement","priority":50,"targetDate":null,"planningStatus":"draft","executionStatus":"running","reviewStatus":"pending","publicationStatus":"not_applicable","measurementStatus":"measuring","control":"manual","improvement":null,"aiEvaluation":null,"handoff":null,"spec":null,"allowedOperationIds":["marketing.seo.rankTracking.run"],"requiresReview":true,"estimatedCostCents":null,"maxCostCents":null,"reservedCostCents":0,"budgetReservationId":null,"actualCostCents":null,"lastError":null,"links":{"executionIds":[],"measurementIds":[],"opportunityId":null,"findingId":null,"contentRevisionId":null,"reviewRequestId":null,"repositoryChangeId":"12345678-1234-4234-8234-123456789abd","pullRequestUrl":null,"previewUrl":null,"publicationId":null},"authorityRevision":1,"fenceToken":"fence-example","revision":1,"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastProgressAt":null,"currency":"EUR","preview":null,"verification":{"strategy":"none","status":"not_applicable"},"capabilities":{"canRequestReview":true,"canApprove":true,"canReject":true,"canExecute":false,"canCancel":false}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RECONCILE_UNAVAILABLE","when":"Repository reconciliation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_MISMATCH","when":"The change is not linked to this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_NOT_FOUND","when":"The linked repository change does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key has already been used for different input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changes while recording reconciliation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RECONCILE_UNAVAILABLE","when":"Repository reconciliation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_MISMATCH","when":"The change is not linked to this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_NOT_FOUND","when":"The linked repository change does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key has already been used for different input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changes while recording reconciliation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RECONCILE_UNAVAILABLE","when":"Repository reconciliation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_MISMATCH","when":"The change is not linked to this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_NOT_FOUND","when":"The linked repository change does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key has already been used for different input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changes while recording reconciliation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RECONCILE_UNAVAILABLE","when":"Repository reconciliation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_MISMATCH","when":"The change is not linked to this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_NOT_FOUND","when":"The linked repository change does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key has already been used for different input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changes while recording reconciliation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RECONCILE_UNAVAILABLE","when":"Repository reconciliation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_MISMATCH","when":"The change is not linked to this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_NOT_FOUND","when":"The linked repository change does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key has already been used for different input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changes while recording reconciliation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RECONCILE_UNAVAILABLE","when":"Repository reconciliation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_MISMATCH","when":"The change is not linked to this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_NOT_FOUND","when":"The linked repository change does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key has already been used for different input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changes while recording reconciliation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RECONCILE_UNAVAILABLE","when":"Repository reconciliation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_MISMATCH","when":"The change is not linked to this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_NOT_FOUND","when":"The linked repository change does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key has already been used for different input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changes while recording reconciliation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RECONCILE_UNAVAILABLE","when":"Repository reconciliation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_MISMATCH","when":"The change is not linked to this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_NOT_FOUND","when":"The linked repository change does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key has already been used for different input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changes while recording reconciliation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RECONCILE_UNAVAILABLE","when":"Repository reconciliation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_MISMATCH","when":"The change is not linked to this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_NOT_FOUND","when":"The linked repository change does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key has already been used for different input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changes while recording reconciliation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RECONCILE_UNAVAILABLE","when":"Repository reconciliation is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_MISMATCH","when":"The change is not linked to this action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_REPOSITORY_CHANGE_NOT_FOUND","when":"The linked repository change does not exist.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key has already been used for different input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changes while recording reconciliation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.actions.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.actions.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.actions.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.actions.update","description":"Manage a fenced SEO action from planning through trusted evidence. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"actionId":"seo-action-1","expectedRevision":1,"idempotencyKey":"action-update-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","siteId":null,"createdByUserId":"12345678-1234-4234-8234-123456789abe","title":"Measure pricing-page visibility","description":null,"kind":"measurement","priority":50,"targetDate":null,"planningStatus":"draft","executionStatus":"idle","reviewStatus":"pending","publicationStatus":"not_applicable","measurementStatus":"measuring","control":"manual","improvement":null,"aiEvaluation":null,"handoff":null,"spec":null,"allowedOperationIds":["marketing.seo.rankTracking.run"],"requiresReview":true,"estimatedCostCents":null,"maxCostCents":null,"reservedCostCents":0,"budgetReservationId":null,"actualCostCents":null,"lastError":null,"links":{"executionIds":[],"measurementIds":[],"opportunityId":null,"findingId":null,"contentRevisionId":null,"reviewRequestId":null,"repositoryChangeId":null,"pullRequestUrl":null,"previewUrl":null,"publicationId":null},"authorityRevision":1,"fenceToken":"fence-example","revision":2,"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastProgressAt":null,"currency":"EUR","preview":null,"verification":{"strategy":"none","status":"not_applicable"},"capabilities":{"canRequestReview":true,"canApprove":true,"canReject":true,"canExecute":false,"canCancel":false}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"Completed or cancelled actions cannot be changed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_CONTROL_DENIED","when":"Flow cannot take over work or assign manual control.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changed.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"Completed or cancelled actions cannot be changed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_CONTROL_DENIED","when":"Flow cannot take over work or assign manual control.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changed.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"Completed or cancelled actions cannot be changed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_CONTROL_DENIED","when":"Flow cannot take over work or assign manual control.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changed.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"Completed or cancelled actions cannot be changed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_CONTROL_DENIED","when":"Flow cannot take over work or assign manual control.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changed.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"Completed or cancelled actions cannot be changed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_CONTROL_DENIED","when":"Flow cannot take over work or assign manual control.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changed.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"Completed or cancelled actions cannot be changed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_CONTROL_DENIED","when":"Flow cannot take over work or assign manual control.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changed.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"Completed or cancelled actions cannot be changed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_CONTROL_DENIED","when":"Flow cannot take over work or assign manual control.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changed.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"Completed or cancelled actions cannot be changed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_CONTROL_DENIED","when":"Flow cannot take over work or assign manual control.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changed.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"Completed or cancelled actions cannot be changed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_CONTROL_DENIED","when":"Flow cannot take over work or assign manual control.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changed.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_IDEMPOTENCY_CONFLICT","when":"The idempotency key was used with different action input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_OPERATION_INVALID","when":"The operation allowlist contains an unknown or disallowed operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_BUDGET_EXCEEDED","when":"The estimate exceeds the configured action budget.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.actions.list"}},{"code":"SEO_ACTION_ALREADY_TERMINAL","when":"Completed or cancelled actions cannot be changed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_CONTROL_DENIED","when":"Flow cannot take over work or assign manual control.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.actions.update"}}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action revision changed.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoActionsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.ai.keywords.volume.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.ai.keywords.volume.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.ai.keywords.volume.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.ai.keywords.volume.get","description":"Read AI keyword search volume. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keywords":["seo"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","items":[{"keyword":"crm software","searchVolume":1900}],"totalCount":1,"sourceTotalCount":1,"costCents":1,"costMicroCents":1000000,"currency":"USD","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"providerPath":"ai_keyword_volume","researchLog":[],"failures":[]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.keywords.volume.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiKeywordsVolumeGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.ai.mentions.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.ai.mentions.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.ai.mentions.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.ai.mentions.get","description":"Measure assistant mentions and cited sources. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"domain":"example.com","competitors":["competitor.example"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"currency":"USD","platforms":{"chat_gpt":[],"google":[]},"topSources":[],"marketNote":{"chat_gpt":"United States / English","google":"Germany / German"},"competitorShare":[],"costCents":1,"costMicroCents":1000000}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.mentions.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiMentionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.ai.prompts.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.ai.prompts.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.ai.prompts.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.ai.prompts.create","description":"Track a prompt for AI visibility. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"prompt":"best seo tools","models":["chat_gpt:gpt-5"],"webSearch":true}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","prompt":"Which CRM works for an agency?","models":["chat_gpt:gpt-5"],"webSearch":true,"createdAt":"2026-10-01T08:00:00.000Z","removedAt":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.ai.prompts.delete":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.ai.prompts.delete","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.ai.prompts.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.ai.prompts.delete","description":"Remove a prompt while preserving its history. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"promptId":"12345678-1234-4234-8234-123456789abd"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","prompt":"Which CRM works for an agency?","models":["chat_gpt:gpt-5"],"webSearch":true,"createdAt":"2026-10-01T08:00:00.000Z","removedAt":"2026-10-01T08:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.ai.prompts.estimate":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.ai.prompts.estimate","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.ai.prompts.estimate","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.ai.prompts.estimate","description":"Estimate tracked AI prompt spend. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"cadence":"monthly"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"perRunCents":3,"monthlyCents":3,"checksPerMonth":1,"perModelCents":{"chat_gpt:gpt-5":3},"method":"per-model DataForSEO live-task estimate using observed cost when available","currency":"USD"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.estimate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.ai.prompts.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.ai.prompts.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.ai.prompts.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.ai.prompts.list","description":"List tracked AI visibility prompts. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","prompt":"Which CRM works for an agency?","models":["chat_gpt:gpt-5"],"webSearch":true,"createdAt":"2026-10-01T08:00:00.000Z","removedAt":null}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.ai.prompts.run":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.ai.prompts.run","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.ai.prompts.run","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.ai.prompts.run","description":"Run tracked AI prompts under a caller ceiling. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"domain":"example.com"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","status":"succeeded","completedAt":"2026-10-01T08:00:00.000Z","snapshots":[],"costCents":0,"costMicroCents":0,"currency":"USD","method":null,"processed":0,"failures":[],"skipped":false,"skipReason":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_RUN_OVER_CEILING","when":"The fresh AI prompt run estimate exceeds the requested run ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}},{"code":"SEO_AI_CHECK_CANCELLED","when":"Cancellation stops the remaining paid prompt checks; completed charges and snapshots are retained.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_EMPTY_ANSWER","when":"An assistant returns no answer text; this is recorded in the per-model failures and excluded from coverage.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_CHECK_NOT_RUN","when":"Provider access, billing or cancellation stops queued checks; each unstarted check is recorded in per-model failures.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_RUN_OVER_CEILING","when":"The fresh AI prompt run estimate exceeds the requested run ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}},{"code":"SEO_AI_CHECK_CANCELLED","when":"Cancellation stops the remaining paid prompt checks; completed charges and snapshots are retained.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_EMPTY_ANSWER","when":"An assistant returns no answer text; this is recorded in the per-model failures and excluded from coverage.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_CHECK_NOT_RUN","when":"Provider access, billing or cancellation stops queued checks; each unstarted check is recorded in per-model failures.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_RUN_OVER_CEILING","when":"The fresh AI prompt run estimate exceeds the requested run ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}},{"code":"SEO_AI_CHECK_CANCELLED","when":"Cancellation stops the remaining paid prompt checks; completed charges and snapshots are retained.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_EMPTY_ANSWER","when":"An assistant returns no answer text; this is recorded in the per-model failures and excluded from coverage.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_CHECK_NOT_RUN","when":"Provider access, billing or cancellation stops queued checks; each unstarted check is recorded in per-model failures.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_RUN_OVER_CEILING","when":"The fresh AI prompt run estimate exceeds the requested run ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}},{"code":"SEO_AI_CHECK_CANCELLED","when":"Cancellation stops the remaining paid prompt checks; completed charges and snapshots are retained.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_EMPTY_ANSWER","when":"An assistant returns no answer text; this is recorded in the per-model failures and excluded from coverage.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_CHECK_NOT_RUN","when":"Provider access, billing or cancellation stops queued checks; each unstarted check is recorded in per-model failures.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_RUN_OVER_CEILING","when":"The fresh AI prompt run estimate exceeds the requested run ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}},{"code":"SEO_AI_CHECK_CANCELLED","when":"Cancellation stops the remaining paid prompt checks; completed charges and snapshots are retained.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_EMPTY_ANSWER","when":"An assistant returns no answer text; this is recorded in the per-model failures and excluded from coverage.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_CHECK_NOT_RUN","when":"Provider access, billing or cancellation stops queued checks; each unstarted check is recorded in per-model failures.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_RUN_OVER_CEILING","when":"The fresh AI prompt run estimate exceeds the requested run ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}},{"code":"SEO_AI_CHECK_CANCELLED","when":"Cancellation stops the remaining paid prompt checks; completed charges and snapshots are retained.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_EMPTY_ANSWER","when":"An assistant returns no answer text; this is recorded in the per-model failures and excluded from coverage.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_CHECK_NOT_RUN","when":"Provider access, billing or cancellation stops queued checks; each unstarted check is recorded in per-model failures.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_RUN_OVER_CEILING","when":"The fresh AI prompt run estimate exceeds the requested run ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}},{"code":"SEO_AI_CHECK_CANCELLED","when":"Cancellation stops the remaining paid prompt checks; completed charges and snapshots are retained.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_EMPTY_ANSWER","when":"An assistant returns no answer text; this is recorded in the per-model failures and excluded from coverage.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_CHECK_NOT_RUN","when":"Provider access, billing or cancellation stops queued checks; each unstarted check is recorded in per-model failures.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_RUN_OVER_CEILING","when":"The fresh AI prompt run estimate exceeds the requested run ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}},{"code":"SEO_AI_CHECK_CANCELLED","when":"Cancellation stops the remaining paid prompt checks; completed charges and snapshots are retained.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_EMPTY_ANSWER","when":"An assistant returns no answer text; this is recorded in the per-model failures and excluded from coverage.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_CHECK_NOT_RUN","when":"Provider access, billing or cancellation stops queued checks; each unstarted check is recorded in per-model failures.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_RUN_OVER_CEILING","when":"The fresh AI prompt run estimate exceeds the requested run ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}},{"code":"SEO_AI_CHECK_CANCELLED","when":"Cancellation stops the remaining paid prompt checks; completed charges and snapshots are retained.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_EMPTY_ANSWER","when":"An assistant returns no answer text; this is recorded in the per-model failures and excluded from coverage.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_CHECK_NOT_RUN","when":"Provider access, billing or cancellation stops queued checks; each unstarted check is recorded in per-model failures.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_RUN_OVER_CEILING","when":"The fresh AI prompt run estimate exceeds the requested run ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}},{"code":"SEO_AI_CHECK_CANCELLED","when":"Cancellation stops the remaining paid prompt checks; completed charges and snapshots are retained.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_EMPTY_ANSWER","when":"An assistant returns no answer text; this is recorded in the per-model failures and excluded from coverage.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}},{"code":"SEO_AI_CHECK_NOT_RUN","when":"Provider access, billing or cancellation stops queued checks; each unstarted check is recorded in per-model failures.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.ai.prompts.schedule.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.ai.prompts.schedule.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.ai.prompts.schedule.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.ai.prompts.schedule.get","description":"Read the saved AI prompt schedule. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","cadence":"monthly","cadenceSource":"saved","maxMonthlyCostCents":null,"currency":"USD","lastSkipReason":null,"monitoring":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.ai.prompts.schedule.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.ai.prompts.schedule.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.ai.prompts.schedule.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.ai.prompts.schedule.update","description":"Set an approved AI prompt schedule. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"cadence":"monthly"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","cadence":"monthly","cadenceSource":"saved","maxMonthlyCostCents":null,"currency":"USD","lastSkipReason":null,"monitoring":null,"estimate":{"perRunCents":3,"monthlyCents":3,"checksPerMonth":1,"perModelCents":{"chat_gpt:gpt-5":3},"method":"per-model DataForSEO live-task estimate using observed cost when available","currency":"USD"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"SEO_AI_OVER_CEILING","when":"The AI schedule estimate exceeds its monthly ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"SEO_AI_OVER_CEILING","when":"The AI schedule estimate exceeds its monthly ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"SEO_AI_OVER_CEILING","when":"The AI schedule estimate exceeds its monthly ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"SEO_AI_OVER_CEILING","when":"The AI schedule estimate exceeds its monthly ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"SEO_AI_OVER_CEILING","when":"The AI schedule estimate exceeds its monthly ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"SEO_AI_OVER_CEILING","when":"The AI schedule estimate exceeds its monthly ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"SEO_AI_OVER_CEILING","when":"The AI schedule estimate exceeds its monthly ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"SEO_AI_OVER_CEILING","when":"The AI schedule estimate exceeds its monthly ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"SEO_AI_OVER_CEILING","when":"The AI schedule estimate exceeds its monthly ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.schedule.update"}}},{"code":"SEO_AI_OVER_CEILING","when":"The AI schedule estimate exceeds its monthly ceiling.","recovery":{"operation":"marketing.seo.ai.prompts.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.ai.prompts.snapshots.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.ai.prompts.snapshots.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.ai.prompts.snapshots.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.ai.prompts.snapshots.list","description":"List AI prompt visibility snapshots. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.ai.prompts.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptsSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.aiAnswers.generate":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.aiAnswers.generate","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.aiAnswers.generate","x-moreflow-agent":{"effect":"external_communication","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"marketing.seo.aiAnswers.generate","description":"Generate a ready-to-paste FAQ answer and FAQPage JSON-LD for a tracked AI question from verified business facts. Paid model call; nothing is stored or published.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_ANSWER_UNSUPPORTED","when":"The saved business facts cannot answer the question without inventing claims.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["services","offerSummary"]}},{"code":"SEO_AI_ANSWER_UNAVAILABLE","when":"Answer generation is not configured or the model call failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_ANSWER_UNSUPPORTED","when":"The saved business facts cannot answer the question without inventing claims.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["services","offerSummary"]}},{"code":"SEO_AI_ANSWER_UNAVAILABLE","when":"Answer generation is not configured or the model call failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_ANSWER_UNSUPPORTED","when":"The saved business facts cannot answer the question without inventing claims.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["services","offerSummary"]}},{"code":"SEO_AI_ANSWER_UNAVAILABLE","when":"Answer generation is not configured or the model call failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_ANSWER_UNSUPPORTED","when":"The saved business facts cannot answer the question without inventing claims.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["services","offerSummary"]}},{"code":"SEO_AI_ANSWER_UNAVAILABLE","when":"Answer generation is not configured or the model call failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_ANSWER_UNSUPPORTED","when":"The saved business facts cannot answer the question without inventing claims.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["services","offerSummary"]}},{"code":"SEO_AI_ANSWER_UNAVAILABLE","when":"Answer generation is not configured or the model call failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_ANSWER_UNSUPPORTED","when":"The saved business facts cannot answer the question without inventing claims.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["services","offerSummary"]}},{"code":"SEO_AI_ANSWER_UNAVAILABLE","when":"Answer generation is not configured or the model call failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_ANSWER_UNSUPPORTED","when":"The saved business facts cannot answer the question without inventing claims.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["services","offerSummary"]}},{"code":"SEO_AI_ANSWER_UNAVAILABLE","when":"Answer generation is not configured or the model call failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_ANSWER_UNSUPPORTED","when":"The saved business facts cannot answer the question without inventing claims.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["services","offerSummary"]}},{"code":"SEO_AI_ANSWER_UNAVAILABLE","when":"Answer generation is not configured or the model call failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_ANSWER_UNSUPPORTED","when":"The saved business facts cannot answer the question without inventing claims.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["services","offerSummary"]}},{"code":"SEO_AI_ANSWER_UNAVAILABLE","when":"Answer generation is not configured or the model call failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_ANSWER_UNSUPPORTED","when":"The saved business facts cannot answer the question without inventing claims.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["services","offerSummary"]}},{"code":"SEO_AI_ANSWER_UNAVAILABLE","when":"Answer generation is not configured or the model call failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.aiAnswers.propose":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.aiAnswers.propose","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.aiAnswers.propose","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.aiAnswers.propose","description":"Turn one tracked AI question the assistants answer without citing the website into the same action the autopilot plans: a repository change on a verified page, or a paste-ready answer to-do. Returns an open action for the question instead of creating a second one. No paid call.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile with a domain is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_BASELINE_REQUIRED","when":"The question has no current AI answers to improve on.","recovery":{"operation":"marketing.seo.ai.prompts.run"}},{"code":"SEO_AI_ANSWER_ALREADY_CITED","when":"Every current answer already cites the website.","recovery":{"operation":"marketing.seo.ai.prompts.snapshots.list"}},{"code":"SEO_AI_ANSWER_NO_PAGE","when":"No page of the website is known to put the answer on.","recovery":{"operation":"marketing.seo.audits.run"}},{"code":"SEO_ACTION_CREATE_FAILED","when":"The action could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile with a domain is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_BASELINE_REQUIRED","when":"The question has no current AI answers to improve on.","recovery":{"operation":"marketing.seo.ai.prompts.run"}},{"code":"SEO_AI_ANSWER_ALREADY_CITED","when":"Every current answer already cites the website.","recovery":{"operation":"marketing.seo.ai.prompts.snapshots.list"}},{"code":"SEO_AI_ANSWER_NO_PAGE","when":"No page of the website is known to put the answer on.","recovery":{"operation":"marketing.seo.audits.run"}},{"code":"SEO_ACTION_CREATE_FAILED","when":"The action could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile with a domain is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_BASELINE_REQUIRED","when":"The question has no current AI answers to improve on.","recovery":{"operation":"marketing.seo.ai.prompts.run"}},{"code":"SEO_AI_ANSWER_ALREADY_CITED","when":"Every current answer already cites the website.","recovery":{"operation":"marketing.seo.ai.prompts.snapshots.list"}},{"code":"SEO_AI_ANSWER_NO_PAGE","when":"No page of the website is known to put the answer on.","recovery":{"operation":"marketing.seo.audits.run"}},{"code":"SEO_ACTION_CREATE_FAILED","when":"The action could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile with a domain is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_BASELINE_REQUIRED","when":"The question has no current AI answers to improve on.","recovery":{"operation":"marketing.seo.ai.prompts.run"}},{"code":"SEO_AI_ANSWER_ALREADY_CITED","when":"Every current answer already cites the website.","recovery":{"operation":"marketing.seo.ai.prompts.snapshots.list"}},{"code":"SEO_AI_ANSWER_NO_PAGE","when":"No page of the website is known to put the answer on.","recovery":{"operation":"marketing.seo.audits.run"}},{"code":"SEO_ACTION_CREATE_FAILED","when":"The action could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile with a domain is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_BASELINE_REQUIRED","when":"The question has no current AI answers to improve on.","recovery":{"operation":"marketing.seo.ai.prompts.run"}},{"code":"SEO_AI_ANSWER_ALREADY_CITED","when":"Every current answer already cites the website.","recovery":{"operation":"marketing.seo.ai.prompts.snapshots.list"}},{"code":"SEO_AI_ANSWER_NO_PAGE","when":"No page of the website is known to put the answer on.","recovery":{"operation":"marketing.seo.audits.run"}},{"code":"SEO_ACTION_CREATE_FAILED","when":"The action could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile with a domain is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_BASELINE_REQUIRED","when":"The question has no current AI answers to improve on.","recovery":{"operation":"marketing.seo.ai.prompts.run"}},{"code":"SEO_AI_ANSWER_ALREADY_CITED","when":"Every current answer already cites the website.","recovery":{"operation":"marketing.seo.ai.prompts.snapshots.list"}},{"code":"SEO_AI_ANSWER_NO_PAGE","when":"No page of the website is known to put the answer on.","recovery":{"operation":"marketing.seo.audits.run"}},{"code":"SEO_ACTION_CREATE_FAILED","when":"The action could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile with a domain is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_BASELINE_REQUIRED","when":"The question has no current AI answers to improve on.","recovery":{"operation":"marketing.seo.ai.prompts.run"}},{"code":"SEO_AI_ANSWER_ALREADY_CITED","when":"Every current answer already cites the website.","recovery":{"operation":"marketing.seo.ai.prompts.snapshots.list"}},{"code":"SEO_AI_ANSWER_NO_PAGE","when":"No page of the website is known to put the answer on.","recovery":{"operation":"marketing.seo.audits.run"}},{"code":"SEO_ACTION_CREATE_FAILED","when":"The action could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile with a domain is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_BASELINE_REQUIRED","when":"The question has no current AI answers to improve on.","recovery":{"operation":"marketing.seo.ai.prompts.run"}},{"code":"SEO_AI_ANSWER_ALREADY_CITED","when":"Every current answer already cites the website.","recovery":{"operation":"marketing.seo.ai.prompts.snapshots.list"}},{"code":"SEO_AI_ANSWER_NO_PAGE","when":"No page of the website is known to put the answer on.","recovery":{"operation":"marketing.seo.audits.run"}},{"code":"SEO_ACTION_CREATE_FAILED","when":"The action could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile with a domain is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_BASELINE_REQUIRED","when":"The question has no current AI answers to improve on.","recovery":{"operation":"marketing.seo.ai.prompts.run"}},{"code":"SEO_AI_ANSWER_ALREADY_CITED","when":"Every current answer already cites the website.","recovery":{"operation":"marketing.seo.ai.prompts.snapshots.list"}},{"code":"SEO_AI_ANSWER_NO_PAGE","when":"No page of the website is known to put the answer on.","recovery":{"operation":"marketing.seo.audits.run"}},{"code":"SEO_ACTION_CREATE_FAILED","when":"The action could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_PROMPT_NOT_FOUND","when":"The tracked question does not exist or is no longer tracked.","recovery":{"operation":"marketing.seo.ai.prompts.list"}},{"code":"SEO_SITE_CONTEXT_REQUIRED","when":"No website profile with a domain is saved for the account.","recovery":{"operation":"marketing.seo.siteContext.create"}},{"code":"SEO_AI_BASELINE_REQUIRED","when":"The question has no current AI answers to improve on.","recovery":{"operation":"marketing.seo.ai.prompts.run"}},{"code":"SEO_AI_ANSWER_ALREADY_CITED","when":"Every current answer already cites the website.","recovery":{"operation":"marketing.seo.ai.prompts.snapshots.list"}},{"code":"SEO_AI_ANSWER_NO_PAGE","when":"No page of the website is known to put the answer on.","recovery":{"operation":"marketing.seo.audits.run"}},{"code":"SEO_ACTION_CREATE_FAILED","when":"The action could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.aiAnswers.verify":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.aiAnswers.verify","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.aiAnswers.verify","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.aiAnswers.verify","description":"Check that the customer added the generated answer to the live page; once seen, the action is live and its AI recheck is scheduled.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"SEO_AI_ANSWER_HANDOFF_MISSING","when":"The action has no generated answer waiting to be added to the website.","recovery":{"operation":"marketing.seo.actions.execute"}},{"code":"SEO_LIVE_FETCH_FAILED","when":"The page could not be read.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_AI_ANSWER_NOT_LIVE","when":"The live page does not show the answer yet.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action changed while the page was checked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"SEO_AI_ANSWER_HANDOFF_MISSING","when":"The action has no generated answer waiting to be added to the website.","recovery":{"operation":"marketing.seo.actions.execute"}},{"code":"SEO_LIVE_FETCH_FAILED","when":"The page could not be read.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_AI_ANSWER_NOT_LIVE","when":"The live page does not show the answer yet.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action changed while the page was checked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"SEO_AI_ANSWER_HANDOFF_MISSING","when":"The action has no generated answer waiting to be added to the website.","recovery":{"operation":"marketing.seo.actions.execute"}},{"code":"SEO_LIVE_FETCH_FAILED","when":"The page could not be read.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_AI_ANSWER_NOT_LIVE","when":"The live page does not show the answer yet.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action changed while the page was checked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"SEO_AI_ANSWER_HANDOFF_MISSING","when":"The action has no generated answer waiting to be added to the website.","recovery":{"operation":"marketing.seo.actions.execute"}},{"code":"SEO_LIVE_FETCH_FAILED","when":"The page could not be read.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_AI_ANSWER_NOT_LIVE","when":"The live page does not show the answer yet.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action changed while the page was checked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"SEO_AI_ANSWER_HANDOFF_MISSING","when":"The action has no generated answer waiting to be added to the website.","recovery":{"operation":"marketing.seo.actions.execute"}},{"code":"SEO_LIVE_FETCH_FAILED","when":"The page could not be read.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_AI_ANSWER_NOT_LIVE","when":"The live page does not show the answer yet.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action changed while the page was checked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"SEO_AI_ANSWER_HANDOFF_MISSING","when":"The action has no generated answer waiting to be added to the website.","recovery":{"operation":"marketing.seo.actions.execute"}},{"code":"SEO_LIVE_FETCH_FAILED","when":"The page could not be read.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_AI_ANSWER_NOT_LIVE","when":"The live page does not show the answer yet.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action changed while the page was checked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"SEO_AI_ANSWER_HANDOFF_MISSING","when":"The action has no generated answer waiting to be added to the website.","recovery":{"operation":"marketing.seo.actions.execute"}},{"code":"SEO_LIVE_FETCH_FAILED","when":"The page could not be read.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_AI_ANSWER_NOT_LIVE","when":"The live page does not show the answer yet.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action changed while the page was checked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"SEO_AI_ANSWER_HANDOFF_MISSING","when":"The action has no generated answer waiting to be added to the website.","recovery":{"operation":"marketing.seo.actions.execute"}},{"code":"SEO_LIVE_FETCH_FAILED","when":"The page could not be read.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_AI_ANSWER_NOT_LIVE","when":"The live page does not show the answer yet.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action changed while the page was checked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"SEO_AI_ANSWER_HANDOFF_MISSING","when":"The action has no generated answer waiting to be added to the website.","recovery":{"operation":"marketing.seo.actions.execute"}},{"code":"SEO_LIVE_FETCH_FAILED","when":"The page could not be read.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_AI_ANSWER_NOT_LIVE","when":"The live page does not show the answer yet.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action changed while the page was checked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ACTION_NOT_FOUND","when":"The action does not exist in the current tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}},{"code":"SEO_AI_ANSWER_HANDOFF_MISSING","when":"The action has no generated answer waiting to be added to the website.","recovery":{"operation":"marketing.seo.actions.execute"}},{"code":"SEO_LIVE_FETCH_FAILED","when":"The page could not be read.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_AI_ANSWER_NOT_LIVE","when":"The live page does not show the answer yet.","recovery":{"operation":"marketing.seo.aiAnswers.verify"}},{"code":"SEO_ACTION_REVISION_CONFLICT","when":"The action changed while the page was checked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiAnswers.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiAnswersVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.aiPromptRuns.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.aiPromptRuns.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.aiPromptRuns.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.aiPromptRuns.get","description":"Read the durable completed AI visibility prompt run, its full snapshots, per-check failures and measured cost without contacting a provider. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetInput"},"examples":{"Read a completed run":{"summary":"Read a completed run","value":{"runId":"12345678-1234-4234-8234-123456789abd"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetOutput"},"examples":{"Read a completed run":{"summary":"Read a completed run","value":{"id":"12345678-1234-4234-8234-123456789abd","status":"succeeded","completedAt":"2026-10-01T08:00:00.000Z","snapshots":[],"costCents":0,"costMicroCents":0,"currency":"USD","method":"queued","processed":0,"failures":[],"skipped":false,"skipReason":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.ai.prompts.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.ai.prompts.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.ai.prompts.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.ai.prompts.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.ai.prompts.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.ai.prompts.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.ai.prompts.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.ai.prompts.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiPromptRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.ai.prompts.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiPromptRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.aiVisibilityMatrix.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.aiVisibilityMatrix.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.aiVisibilityMatrix.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.aiVisibilityMatrix.get","description":"Read the prompts-by-assistant visibility matrix with excerpts and run trend. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","currency":"USD","prompts":[],"models":[],"cells":[],"runs":[],"citedInstead":[],"summary":{"prompts":0,"models":0,"cells":0,"cited":0,"mentioned":0,"absent":0,"unchecked":0,"mentionRate":0,"citationRate":0,"lastCheckedAt":null,"monthToDateCostCents":0,"coverage":{"scheduled":0,"answered":0,"ratio":0,"thresholdPercent":80,"trendsReliable":false},"trendsReliable":false}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.aiVisibilityMatrix.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAiVisibilityMatrixGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.articles.approve":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.articles.approve","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.articles.approve","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.articles.approve","description":"Approve the exact current SEO article revision for publication review. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"articleId":"12345678-1234-4234-8234-123456789abe","expectedRevision":1}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","targetId":"12345678-1234-4234-8234-123456789ac3","workId":null,"opportunityId":null,"creationIdempotencyKey":"article-create-1","brief":{"aiVisibility":null,"primaryKeyword":"crm software","secondaryKeywords":["customer relationships"],"searchIntent":"commercial","locale":"en","businessContext":"A SaaS company serving growing teams.","sourceEvidence":[],"unsupportedFacts":[]},"currentRevision":1,"approvedRevision":1,"status":"approved","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z","revision":{"id":"42345678-1234-4234-8234-123456789abd","articleId":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","revision":1,"content":{"title":"CRM software for growing teams","slug":"crm-software","metaTitle":"CRM software for growing teams","metaDescription":"Compare CRM software for growing teams.","outline":["What CRM software does","How to choose a CRM"],"body":"CRM software helps growing teams organize customer relationships."},"provenance":"human","sourceRevision":null,"idempotencyKey":"article-create-1:revision","createdAt":"2026-10-13T12:00:00.000Z","createdBy":"user"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.articles.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.articles.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.articles.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.articles.create","description":"Creates or replays a tenant-scoped article and validates the selected keyword is grounded in the submitted content. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"targetId":"12345678-1234-4234-8234-123456789ac3","brief":{"primaryKeyword":"crm software","secondaryKeywords":["customer relationships"],"searchIntent":"commercial","locale":"en","businessContext":"A SaaS company serving growing teams.","sourceEvidence":[],"unsupportedFacts":[]},"content":{"title":"CRM software for growing teams","slug":"crm-software","metaTitle":"CRM software for growing teams","metaDescription":"Compare CRM software for growing teams.","outline":["What CRM software does","How to choose a CRM"],"body":"CRM software helps growing teams organize customer relationships."},"idempotencyKey":"article-create-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","targetId":"12345678-1234-4234-8234-123456789ac3","workId":null,"opportunityId":null,"creationIdempotencyKey":"article-create-1","brief":{"aiVisibility":null,"primaryKeyword":"crm software","secondaryKeywords":["customer relationships"],"searchIntent":"commercial","locale":"en","businessContext":"A SaaS company serving growing teams.","sourceEvidence":[],"unsupportedFacts":[]},"currentRevision":1,"approvedRevision":null,"status":"draft","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z","revision":{"id":"42345678-1234-4234-8234-123456789abd","articleId":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","revision":1,"content":{"title":"CRM software for growing teams","slug":"crm-software","metaTitle":"CRM software for growing teams","metaDescription":"Compare CRM software for growing teams.","outline":["What CRM software does","How to choose a CRM"],"body":"CRM software helps growing teams organize customer relationships."},"provenance":"human","sourceRevision":null,"idempotencyKey":"article-create-1:revision","createdAt":"2026-10-13T12:00:00.000Z","createdBy":"user"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.create"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.articles.generate":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.articles.generate","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.articles.generate","x-moreflow-agent":{"effect":"external_communication","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"marketing.seo.articles.generate","description":"Uses the configured SEO article generation port, validates its structured result and records an immutable revision. Retries replay the stored revision before invoking AI again. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"targetId":"12345678-1234-4234-8234-123456789ac3","targetUrl":"https://example.com/crm-software","brief":{"primaryKeyword":"crm software","secondaryKeywords":["customer relationships"],"searchIntent":"commercial","locale":"en","businessContext":"A SaaS company serving growing teams.","sourceEvidence":[],"unsupportedFacts":[]},"idempotencyKey":"article-generate-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","targetId":"12345678-1234-4234-8234-123456789ac3","workId":null,"opportunityId":null,"creationIdempotencyKey":"article-create-1","brief":{"aiVisibility":null,"primaryKeyword":"crm software","secondaryKeywords":["customer relationships"],"searchIntent":"commercial","locale":"en","businessContext":"A SaaS company serving growing teams.","sourceEvidence":[],"unsupportedFacts":[]},"currentRevision":1,"approvedRevision":null,"status":"draft","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z","revision":{"id":"42345678-1234-4234-8234-123456789abd","articleId":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","revision":1,"content":{"title":"CRM software for growing teams","slug":"crm-software","metaTitle":"CRM software for growing teams","metaDescription":"Compare CRM software for growing teams.","outline":["What CRM software does","How to choose a CRM"],"body":"CRM software helps growing teams organize customer relationships."},"provenance":"generated","sourceRevision":null,"idempotencyKey":"article-create-1:revision","createdAt":"2026-10-13T12:00:00.000Z","createdBy":"ai"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_FAILED","when":"The SEO article could not be generated.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_UNAVAILABLE","when":"The SEO article generation port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_FAILED","when":"The SEO article could not be generated.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_UNAVAILABLE","when":"The SEO article generation port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_FAILED","when":"The SEO article could not be generated.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_UNAVAILABLE","when":"The SEO article generation port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_FAILED","when":"The SEO article could not be generated.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_UNAVAILABLE","when":"The SEO article generation port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_FAILED","when":"The SEO article could not be generated.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_UNAVAILABLE","when":"The SEO article generation port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_FAILED","when":"The SEO article could not be generated.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_UNAVAILABLE","when":"The SEO article generation port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_FAILED","when":"The SEO article could not be generated.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_UNAVAILABLE","when":"The SEO article generation port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_FAILED","when":"The SEO article could not be generated.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_UNAVAILABLE","when":"The SEO article generation port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_FAILED","when":"The SEO article could not be generated.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_UNAVAILABLE","when":"The SEO article generation port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_CREATE_FAILED","when":"The SEO article could not be created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_FAILED","when":"The SEO article could not be generated.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_GENERATION_UNAVAILABLE","when":"The SEO article generation port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generate"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.articles.generateRevision":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.articles.generateRevision","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.articles.generateRevision","x-moreflow-agent":{"effect":"external_communication","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"marketing.seo.articles.generateRevision","description":"Refine one exact article revision while asking the AI to preserve user edits. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"articleId":"12345678-1234-4234-8234-123456789abe","targetUrl":"https://example.com/crm-software","expectedRevision":1,"instruction":"Improve the introduction.","idempotencyKey":"article-refine-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","targetId":"12345678-1234-4234-8234-123456789ac3","workId":null,"opportunityId":null,"creationIdempotencyKey":"article-create-1","brief":{"aiVisibility":null,"primaryKeyword":"crm software","secondaryKeywords":["customer relationships"],"searchIntent":"commercial","locale":"en","businessContext":"A SaaS company serving growing teams.","sourceEvidence":[],"unsupportedFacts":[]},"currentRevision":1,"approvedRevision":null,"status":"draft","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z","revision":{"id":"42345678-1234-4234-8234-123456789abd","articleId":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","revision":1,"content":{"title":"CRM software for growing teams","slug":"crm-software","metaTitle":"CRM software for growing teams","metaDescription":"Compare CRM software for growing teams.","outline":["What CRM software does","How to choose a CRM"],"body":"CRM software helps growing teams organize customer relationships."},"provenance":"refined","sourceRevision":null,"idempotencyKey":"article-create-1:revision","createdAt":"2026-10-13T12:00:00.000Z","createdBy":"ai"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_REFINEMENT_FAILED","when":"The SEO article could not be refined.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_UNAVAILABLE","when":"The SEO article refinement port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_REFINEMENT_FAILED","when":"The SEO article could not be refined.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_UNAVAILABLE","when":"The SEO article refinement port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_REFINEMENT_FAILED","when":"The SEO article could not be refined.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_UNAVAILABLE","when":"The SEO article refinement port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_REFINEMENT_FAILED","when":"The SEO article could not be refined.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_UNAVAILABLE","when":"The SEO article refinement port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_REFINEMENT_FAILED","when":"The SEO article could not be refined.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_UNAVAILABLE","when":"The SEO article refinement port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_REFINEMENT_FAILED","when":"The SEO article could not be refined.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_UNAVAILABLE","when":"The SEO article refinement port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_REFINEMENT_FAILED","when":"The SEO article could not be refined.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_UNAVAILABLE","when":"The SEO article refinement port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_REFINEMENT_FAILED","when":"The SEO article could not be refined.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_UNAVAILABLE","when":"The SEO article refinement port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_REFINEMENT_FAILED","when":"The SEO article could not be refined.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_UNAVAILABLE","when":"The SEO article refinement port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_REFINEMENT_FAILED","when":"The SEO article could not be refined.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_INVALID","when":"The AI generation response did not match the SEO article contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REFINEMENT_UNAVAILABLE","when":"The SEO article refinement port is unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.generateRevision"}}},{"code":"SEO_ARTICLE_REVISION_NOT_FOUND","when":"The requested article revision was not found.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGenerateRevisionError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.articles.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.articles.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.articles.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.articles.get","description":"Read one SEO article and its current immutable revision. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"articleId":"12345678-1234-4234-8234-123456789abe"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","targetId":"12345678-1234-4234-8234-123456789ac3","workId":null,"opportunityId":null,"creationIdempotencyKey":"article-create-1","brief":{"aiVisibility":null,"primaryKeyword":"crm software","secondaryKeywords":["customer relationships"],"searchIntent":"commercial","locale":"en","businessContext":"A SaaS company serving growing teams.","sourceEvidence":[],"unsupportedFacts":[]},"currentRevision":1,"approvedRevision":null,"status":"draft","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z","revision":{"id":"42345678-1234-4234-8234-123456789abd","articleId":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","revision":1,"content":{"title":"CRM software for growing teams","slug":"crm-software","metaTitle":"CRM software for growing teams","metaDescription":"Compare CRM software for growing teams.","outline":["What CRM software does","How to choose a CRM"],"body":"CRM software helps growing teams organize customer relationships."},"provenance":"human","sourceRevision":null,"idempotencyKey":"article-create-1:revision","createdAt":"2026-10-13T12:00:00.000Z","createdBy":"user"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.articles.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.articles.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.articles.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.articles.list","description":"List tenant-scoped SEO articles and their review status. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","targetId":"12345678-1234-4234-8234-123456789ac3","workId":null,"opportunityId":null,"creationIdempotencyKey":"article-create-1","brief":{"aiVisibility":null,"primaryKeyword":"crm software","secondaryKeywords":["customer relationships"],"searchIntent":"commercial","locale":"en","businessContext":"A SaaS company serving growing teams.","sourceEvidence":[],"unsupportedFacts":[]},"currentRevision":1,"approvedRevision":null,"status":"draft","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z"}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.articles.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.articles.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.articles.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.articles.update","description":"Append a human edit only against the exact current revision. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"articleId":"12345678-1234-4234-8234-123456789abe","expectedRevision":1,"content":{"title":"CRM software for growing teams","slug":"crm-software","metaTitle":"CRM software for growing teams","metaDescription":"Compare CRM software for growing teams.","outline":["What CRM software does","How to choose a CRM"],"body":"CRM software helps growing teams organize customer relationships."},"idempotencyKey":"article-edit-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","targetId":"12345678-1234-4234-8234-123456789ac3","workId":null,"opportunityId":null,"creationIdempotencyKey":"article-create-1","brief":{"aiVisibility":null,"primaryKeyword":"crm software","secondaryKeywords":["customer relationships"],"searchIntent":"commercial","locale":"en","businessContext":"A SaaS company serving growing teams.","sourceEvidence":[],"unsupportedFacts":[]},"currentRevision":1,"approvedRevision":null,"status":"draft","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z","revision":{"id":"42345678-1234-4234-8234-123456789abd","articleId":"12345678-1234-4234-8234-123456789abe","accountId":"12345678-1234-4234-8234-123456789abc","revision":1,"content":{"title":"CRM software for growing teams","slug":"crm-software","metaTitle":"CRM software for growing teams","metaDescription":"Compare CRM software for growing teams.","outline":["What CRM software does","How to choose a CRM"],"body":"CRM software helps growing teams organize customer relationships."},"provenance":"human","sourceRevision":null,"idempotencyKey":"article-create-1:revision","createdAt":"2026-10-13T12:00:00.000Z","createdBy":"user"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_IDEMPOTENCY_CONFLICT","when":"The article or revision idempotency key was already used for different data.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_KEYWORD_GROUNDING","when":"The submitted or generated content is not grounded in the article primary keyword.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.articles.update"}}},{"code":"SEO_ARTICLE_NOT_FOUND","when":"The article was not found.","recovery":{"operation":"marketing.seo.articles.list"}},{"code":"SEO_ARTICLE_STALE_REVISION","when":"The current article revision does not match the expected revision.","recovery":{"operation":"marketing.seo.articles.get","requiredFields":["articleId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoArticlesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.auditFindings.assign":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.auditFindings.assign","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.auditFindings.assign","x-moreflow-agent":{"effect":"external_communication","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"marketing.seo.auditFindings.assign","description":"Run and manage bounded, evidence-backed SEO audit findings. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"findingId":"12345678-1234-4234-8234-123456789ac0","expectedRevision":1,"idempotencyKey":"finding-convert-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"finding":{"id":"12345678-1234-4234-8234-123456789ac0","accountId":"12345678-1234-4234-8234-123456789abc","fingerprint":"canonical:https://example.com/crm-software","rule":"canonical","reportId":"12345678-1234-4234-8234-123456789abf","pageUrl":"https://example.com/crm-software","severity":"warning","message":"The page has no canonical URL.","action":"Add a self-referencing canonical URL.","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"status":"open","comparison":"new","decisionNote":null,"linkedWorkId":null,"linkedActionId":null,"revision":1,"firstObservedAt":"2026-10-13T12:00:00.000Z","lastObservedAt":"2026-10-13T12:00:00.000Z","observations":[{"id":"52345678-1234-4234-8234-123456789abd","reportId":"12345678-1234-4234-8234-123456789abf","observedAt":"2026-10-13T12:00:00.000Z","state":"present","comparison":"new","severity":"warning","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"previousObservationId":null}]},"workId":"b2345678-1234-4234-8234-123456789abd","actionId":null,"replay":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_ALREADY_LINKED","when":"Audit finding already linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_ALREADY_LINKED","when":"Audit finding already linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_ALREADY_LINKED","when":"Audit finding already linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_ALREADY_LINKED","when":"Audit finding already linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_ALREADY_LINKED","when":"Audit finding already linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_ALREADY_LINKED","when":"Audit finding already linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_ALREADY_LINKED","when":"Audit finding already linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_ALREADY_LINKED","when":"Audit finding already linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_ALREADY_LINKED","when":"Audit finding already linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_ALREADY_LINKED","when":"Audit finding already linked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.auditFindings.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.auditFindings.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.auditFindings.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.auditFindings.get","description":"Run and manage bounded, evidence-backed SEO audit findings. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"findingId":"12345678-1234-4234-8234-123456789ac0"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789ac0","accountId":"12345678-1234-4234-8234-123456789abc","fingerprint":"canonical:https://example.com/crm-software","rule":"canonical","reportId":"12345678-1234-4234-8234-123456789abf","pageUrl":"https://example.com/crm-software","severity":"warning","message":"The page has no canonical URL.","action":"Add a self-referencing canonical URL.","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"status":"open","comparison":"new","decisionNote":null,"linkedWorkId":null,"linkedActionId":null,"revision":1,"firstObservedAt":"2026-10-13T12:00:00.000Z","lastObservedAt":"2026-10-13T12:00:00.000Z","observations":[{"id":"52345678-1234-4234-8234-123456789abd","reportId":"12345678-1234-4234-8234-123456789abf","observedAt":"2026-10-13T12:00:00.000Z","state":"present","comparison":"new","severity":"warning","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"previousObservationId":null}]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_FINDING_CONFLICT","when":"Audit finding conflict.","recovery":{"operation":"marketing.seo.auditFindings.get","requiredFields":["findingId"]}},{"code":"SEO_AUDIT_FINDING_NOT_FOUND","when":"The audit finding was not found.","recovery":{"operation":"marketing.seo.auditFindings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.auditFindings.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.auditFindings.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.auditFindings.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.auditFindings.list","description":"Run and manage bounded, evidence-backed SEO audit findings. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"auditId":"12345678-1234-4234-8234-123456789abf"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789ac0","accountId":"12345678-1234-4234-8234-123456789abc","fingerprint":"canonical:https://example.com/crm-software","rule":"canonical","reportId":"12345678-1234-4234-8234-123456789abf","pageUrl":"https://example.com/crm-software","severity":"warning","message":"The page has no canonical URL.","action":"Add a self-referencing canonical URL.","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"status":"open","comparison":"new","decisionNote":null,"linkedWorkId":null,"linkedActionId":null,"revision":1,"firstObservedAt":"2026-10-13T12:00:00.000Z","lastObservedAt":"2026-10-13T12:00:00.000Z","observations":[{"id":"52345678-1234-4234-8234-123456789abd","reportId":"12345678-1234-4234-8234-123456789abf","observedAt":"2026-10-13T12:00:00.000Z","state":"present","comparison":"new","severity":"warning","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"previousObservationId":null}]}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.auditFindings.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditFindingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.audits.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.audits.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.audits.create","x-moreflow-agent":{"effect":"external_communication","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"marketing.seo.audits.create","description":"Run and manage bounded, evidence-backed SEO audit findings. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteDomain":"example.com","requestedUrls":["https://example.com/"],"maximumPages":10,"idempotencyKey":"audit-run-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abf","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"https://example.com","sourceOperationId":"marketing.seo.audits.create","startedAt":"2026-10-13T11:59:00.000Z","completedAt":"2026-10-13T12:00:00.000Z","completeness":"complete","bounded":true,"scope":{"siteUrl":"https://example.com","scopeKey":"example.com:crm-software","requestedUrls":["https://example.com/crm-software"],"maximumPages":10,"pagesDiscovered":1,"pagesPlanned":1,"pagesAudited":1,"skippedPages":0,"truncated":false,"truncationReason":null,"bounded":true},"provenance":[{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"}],"findingIds":["12345678-1234-4234-8234-123456789ac0"],"recheckOfAuditId":null,"revision":1,"findings":[{"id":"12345678-1234-4234-8234-123456789ac0","accountId":"12345678-1234-4234-8234-123456789abc","fingerprint":"canonical:https://example.com/crm-software","rule":"canonical","reportId":"12345678-1234-4234-8234-123456789abf","pageUrl":"https://example.com/crm-software","severity":"warning","message":"The page has no canonical URL.","action":"Add a self-referencing canonical URL.","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"status":"open","comparison":"new","decisionNote":null,"linkedWorkId":null,"linkedActionId":null,"revision":1,"firstObservedAt":"2026-10-13T12:00:00.000Z","lastObservedAt":"2026-10-13T12:00:00.000Z","observations":[{"id":"52345678-1234-4234-8234-123456789abd","reportId":"12345678-1234-4234-8234-123456789abf","observedAt":"2026-10-13T12:00:00.000Z","state":"present","comparison":"new","severity":"warning","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"previousObservationId":null}]}],"replay":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.audits.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.audits.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.audits.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.audits.get","description":"Run and manage bounded, evidence-backed SEO audit findings. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"auditId":"12345678-1234-4234-8234-123456789abf"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abf","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"https://example.com","sourceOperationId":"marketing.seo.audits.create","startedAt":"2026-10-13T11:59:00.000Z","completedAt":"2026-10-13T12:00:00.000Z","completeness":"complete","bounded":true,"scope":{"siteUrl":"https://example.com","scopeKey":"example.com:crm-software","requestedUrls":["https://example.com/crm-software"],"maximumPages":10,"pagesDiscovered":1,"pagesPlanned":1,"pagesAudited":1,"skippedPages":0,"truncated":false,"truncationReason":null,"bounded":true},"provenance":[{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"}],"findingIds":["12345678-1234-4234-8234-123456789ac0"],"recheckOfAuditId":null,"revision":1,"findings":[{"id":"12345678-1234-4234-8234-123456789ac0","accountId":"12345678-1234-4234-8234-123456789abc","fingerprint":"canonical:https://example.com/crm-software","rule":"canonical","reportId":"12345678-1234-4234-8234-123456789abf","pageUrl":"https://example.com/crm-software","severity":"warning","message":"The page has no canonical URL.","action":"Add a self-referencing canonical URL.","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"status":"open","comparison":"new","decisionNote":null,"linkedWorkId":null,"linkedActionId":null,"revision":1,"firstObservedAt":"2026-10-13T12:00:00.000Z","lastObservedAt":"2026-10-13T12:00:00.000Z","observations":[{"id":"52345678-1234-4234-8234-123456789abd","reportId":"12345678-1234-4234-8234-123456789abf","observedAt":"2026-10-13T12:00:00.000Z","state":"present","comparison":"new","severity":"warning","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"previousObservationId":null}]}]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.audits.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.audits.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.audits.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.audits.list","description":"Run and manage bounded, evidence-backed SEO audit findings. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abf","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"https://example.com","sourceOperationId":"marketing.seo.audits.create","startedAt":"2026-10-13T11:59:00.000Z","completedAt":"2026-10-13T12:00:00.000Z","completeness":"complete","bounded":true,"scope":{"siteUrl":"https://example.com","scopeKey":"example.com:crm-software","requestedUrls":["https://example.com/crm-software"],"maximumPages":10,"pagesDiscovered":1,"pagesPlanned":1,"pagesAudited":1,"skippedPages":0,"truncated":false,"truncationReason":null,"bounded":true},"provenance":[{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"}],"findingIds":["12345678-1234-4234-8234-123456789ac0"],"recheckOfAuditId":null,"revision":1}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.audits.run":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.audits.run","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.audits.run","x-moreflow-agent":{"effect":"external_communication","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"marketing.seo.audits.run","description":"Run and manage bounded, evidence-backed SEO audit findings. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"auditId":"12345678-1234-4234-8234-123456789abf","idempotencyKey":"audit-recheck-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"a2345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"https://example.com","sourceOperationId":"marketing.seo.audits.create","startedAt":"2026-10-13T11:59:00.000Z","completedAt":"2026-10-13T12:00:00.000Z","completeness":"complete","bounded":true,"scope":{"siteUrl":"https://example.com","scopeKey":"example.com:crm-software","requestedUrls":["https://example.com/crm-software"],"maximumPages":10,"pagesDiscovered":1,"pagesPlanned":1,"pagesAudited":1,"skippedPages":0,"truncated":false,"truncationReason":null,"bounded":true},"provenance":[{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"}],"findingIds":["12345678-1234-4234-8234-123456789ac0"],"recheckOfAuditId":"12345678-1234-4234-8234-123456789abf","revision":1,"findings":[{"id":"12345678-1234-4234-8234-123456789ac0","accountId":"12345678-1234-4234-8234-123456789abc","fingerprint":"canonical:https://example.com/crm-software","rule":"canonical","reportId":"12345678-1234-4234-8234-123456789abf","pageUrl":"https://example.com/crm-software","severity":"warning","message":"The page has no canonical URL.","action":"Add a self-referencing canonical URL.","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"status":"open","comparison":"new","decisionNote":null,"linkedWorkId":null,"linkedActionId":null,"revision":1,"firstObservedAt":"2026-10-13T12:00:00.000Z","lastObservedAt":"2026-10-13T12:00:00.000Z","observations":[{"id":"52345678-1234-4234-8234-123456789abd","reportId":"12345678-1234-4234-8234-123456789abf","observedAt":"2026-10-13T12:00:00.000Z","state":"present","comparison":"new","severity":"warning","evidence":[{"id":"canonical-evidence-1","provenance":{"sourceKind":"audit_finding","sourceOperationId":"marketing.seo.audits.create","sourceResourceId":"12345678-1234-4234-8234-123456789abf","provider":"website_audit","capturedAt":"2026-10-13T12:00:00.000Z","locator":"https://example.com/crm-software"},"completeness":"complete","observed":[{"field":"canonicalUrl","value":null,"unit":null}],"limitation":null}],"previousObservationId":null}]}],"replay":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AUDIT_IDEMPOTENCY_CONFLICT","when":"The idempotency key belongs to a recheck.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_NOT_FOUND","when":"The source audit report was not found.","recovery":{"operation":"marketing.seo.audits.list"}},{"code":"SEO_AUDIT_RESULT_INVALID","when":"Audit result invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_RUN_FAILED","when":"The website audit could not be completed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_SCOPE_MISMATCH","when":"Audit scope mismatch.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}},{"code":"SEO_AUDIT_UNAVAILABLE","when":"The bounded audit runner is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.audits.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoAuditsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.backlinks.overview.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.backlinks.overview.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.backlinks.overview.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.backlinks.overview.get","description":"Read backlink summary and monthly history for a domain. A fresh read contacts the paid SEO provider and stores a complete research snapshot; a cache hit replays it without a provider call.  Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"target":"example.com"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","items":[{"referringDomains":42}],"totalCount":1,"sourceTotalCount":1,"costCents":1,"costMicroCents":1000000,"currency":"USD","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"providerPath":"backlinks_overview","researchLog":[],"failures":[],"summary":{"referringDomains":42},"trends":[]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.backlinks.referringDomains.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.backlinks.referringDomains.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.backlinks.referringDomains.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.backlinks.referringDomains.list","description":"Read referring domains while hiding spam by default. A fresh read contacts the paid SEO provider and stores a complete research snapshot; a cache hit replays it without a provider call. maxResults bounds the initial provider selection; limit and cursor page only that saved selection. nextCursor is null when the selected snapshot is exhausted; sourceTotalCount retains the provider corpus count when supplied. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"target":"example.com"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","items":[{"id":"12345678-1234-4234-8234-123456789abd:0","domain":"partner.example"}],"totalCount":1,"sourceTotalCount":1,"costCents":1,"costMicroCents":1000000,"currency":"USD","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"providerPath":"backlinks_referring_domains","researchLog":[],"failures":[],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.backlinks.referringDomains.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoBacklinksReferringDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.connection.status.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.connection.status.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.connection.status.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.connection.status.get","description":"Read DataForSEO connection and market readiness. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","status":"ready","market":{"locationCode":2276,"languageCode":"de"},"capabilities":{"canManage":true}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.connection.status.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoConnectionStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.content.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.content.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.content.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.content.create","description":"Create a bounded AI-readiness content artifact for a connected site. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"executorId":"content.generate_llms_txt","path":"public/llms.txt","sourcePaths":["content/services.md"],"includeUrls":["https://acme.test/services"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","executorId":"content.generate_llms_txt","filePath":"public/llms.txt","fileContent":"# Example website\n\n- Website: https://example.com/","contentHash":"4f352e977df9ea5686d2e175a70f06444c748249d9779edd0e6a44115bb533a3","artifact":{"id":"12345678-1234-4234-8234-123456789abd","namespace":"artifacts","label":"public/llms.txt"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.content.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.content.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.content.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.content.get","description":"Read a persisted SEO content artifact. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"artifactId":"12345678-1234-4234-8234-123456789abd"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","executorId":"content.generate_llms_txt","filePath":"public/llms.txt","fileContent":"# Example website\n\n- Website: https://example.com/","contentHash":"4f352e977df9ea5686d2e175a70f06444c748249d9779edd0e6a44115bb533a3","artifact":{"id":"12345678-1234-4234-8234-123456789abd","namespace":"artifacts","label":"public/llms.txt"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_CONTENT_ARTIFACT_NOT_FOUND","when":"No artifact with the requested id exists in the authenticated tenant.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_CONTENT_ARTIFACT_NOT_FOUND","when":"No artifact with the requested id exists in the authenticated tenant.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_CONTENT_ARTIFACT_NOT_FOUND","when":"No artifact with the requested id exists in the authenticated tenant.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_CONTENT_ARTIFACT_NOT_FOUND","when":"No artifact with the requested id exists in the authenticated tenant.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_CONTENT_ARTIFACT_NOT_FOUND","when":"No artifact with the requested id exists in the authenticated tenant.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_CONTENT_ARTIFACT_NOT_FOUND","when":"No artifact with the requested id exists in the authenticated tenant.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_CONTENT_ARTIFACT_NOT_FOUND","when":"No artifact with the requested id exists in the authenticated tenant.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_CONTENT_ARTIFACT_NOT_FOUND","when":"No artifact with the requested id exists in the authenticated tenant.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.content.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_CONTENT_ARTIFACT_NOT_FOUND","when":"No artifact with the requested id exists in the authenticated tenant.","recovery":{"operation":"marketing.seo.actions.get","requiredFields":["actionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.context.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.context.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.context.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.context.get","description":"Read the saved SEO market, tracked resources, active work, and explicit supported or unavailable actions that Flow uses to establish an SEO goal. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetInput"},"examples":{"Read SEO context":{"summary":"Read SEO context","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetOutput"},"examples":{"Read SEO context":{"summary":"Read SEO context","value":{"id":"12345678-1234-4234-8234-123456789abc","providerConfigured":true,"market":{"locationCode":2276,"languageCode":"en"},"trackedKeywordCount":1,"trackedPromptCount":0,"work":[{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","createdByUserId":"12345678-1234-4234-8234-123456789abe","title":"Improve organic visibility","goal":"Measure and improve our service-page visibility","scope":{"targetDomain":"example.com","market":null,"keywordIds":[],"promptIds":[]},"constraints":{"maxMonthlyCostCents":3000,"allowedOperationIds":[],"currency":"EUR"},"control":"delegated","status":"active","revision":1,"nextAction":{"kind":"research","label":"Establish a baseline before making an SEO outcome claim.","operationIds":["marketing.seo.keywords.search","marketing.seo.domain.overview.get"]},"scheduledGoalId":null,"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastProgressAt":null}],"supportedActions":[{"kind":"keyword_research"},{"kind":"keyword_tracking"},{"kind":"domain_visibility_measurement"},{"kind":"serp_measurement"},{"kind":"backlink_measurement"},{"kind":"ai_visibility_measurement"},{"kind":"scheduled_monitoring"},{"kind":"generate_ai_readiness_files"},{"kind":"prepare_repository_change"},{"kind":"manage_index_coverage"}],"unsupportedActions":[{"kind":"build_or_request_backlinks"},{"kind":"claim_ranking_improvement_without_measurement"}]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.costHints.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.costHints.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.costHints.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.costHints.get","description":"Read list-price cost hints and month-to-date SEO spend without a provider call. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","currency":"USD","paidReads":{},"rankCheck":null,"aiRun":null,"monthToDate":{"monthDate":"2026-10-01","rankCents":0,"aiCents":0,"researchCents":0,"totalCents":0}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCostHintsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.crmOutcomes.import":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.crmOutcomes.import","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.crmOutcomes.import","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.crmOutcomes.import","description":"Reads optional CRM instrumentation and stores only explicitly matched lead, booking, and revenue outcomes. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportInput"},"examples":{"Collect CRM outcomes":{"summary":"Collect CRM outcomes","value":{"siteUrl":"https://acme.test","fromDate":"2026-09-01","toDate":"2026-09-07"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportOutput"},"examples":{"Collect CRM outcomes":{"summary":"Collect CRM outcomes","value":{"status":"complete","records":[],"replayed":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_INSTRUMENTATION_UNAVAILABLE","when":"No CRM outcome adapter is configured; lead and revenue measurement remains unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_OUTCOMES_INGESTION_FAILED","when":"CRM outcomes were not stored because the CRM read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_INSTRUMENTATION_UNAVAILABLE","when":"No CRM outcome adapter is configured; lead and revenue measurement remains unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_OUTCOMES_INGESTION_FAILED","when":"CRM outcomes were not stored because the CRM read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_INSTRUMENTATION_UNAVAILABLE","when":"No CRM outcome adapter is configured; lead and revenue measurement remains unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_OUTCOMES_INGESTION_FAILED","when":"CRM outcomes were not stored because the CRM read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_INSTRUMENTATION_UNAVAILABLE","when":"No CRM outcome adapter is configured; lead and revenue measurement remains unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_OUTCOMES_INGESTION_FAILED","when":"CRM outcomes were not stored because the CRM read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_INSTRUMENTATION_UNAVAILABLE","when":"No CRM outcome adapter is configured; lead and revenue measurement remains unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_OUTCOMES_INGESTION_FAILED","when":"CRM outcomes were not stored because the CRM read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_INSTRUMENTATION_UNAVAILABLE","when":"No CRM outcome adapter is configured; lead and revenue measurement remains unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_OUTCOMES_INGESTION_FAILED","when":"CRM outcomes were not stored because the CRM read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_INSTRUMENTATION_UNAVAILABLE","when":"No CRM outcome adapter is configured; lead and revenue measurement remains unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_OUTCOMES_INGESTION_FAILED","when":"CRM outcomes were not stored because the CRM read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_INSTRUMENTATION_UNAVAILABLE","when":"No CRM outcome adapter is configured; lead and revenue measurement remains unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_OUTCOMES_INGESTION_FAILED","when":"CRM outcomes were not stored because the CRM read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_INSTRUMENTATION_UNAVAILABLE","when":"No CRM outcome adapter is configured; lead and revenue measurement remains unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_OUTCOMES_INGESTION_FAILED","when":"CRM outcomes were not stored because the CRM read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_INSTRUMENTATION_UNAVAILABLE","when":"No CRM outcome adapter is configured; lead and revenue measurement remains unavailable.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}},{"code":"SEO_CRM_OUTCOMES_INGESTION_FAILED","when":"CRM outcomes were not stored because the CRM read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.crmOutcomes.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoCrmOutcomesImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.domain.overview.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.domain.overview.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.domain.overview.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.domain.overview.get","description":"Read organic visibility for a domain. A fresh read contacts the paid SEO provider and stores a complete research snapshot; a cache hit replays it without a provider call. maxResults bounds the initial provider selection; limit and cursor page only that saved selection. nextCursor is null when the selected snapshot is exhausted; sourceTotalCount retains the provider corpus count when supplied. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"target":"example.com"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","items":[],"totalCount":0,"sourceTotalCount":0,"costCents":1,"costMicroCents":1000000,"currency":"USD","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"providerPath":"domain_overview","researchLog":[],"failures":[],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.overview.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.domain.rankedKeywords.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.domain.rankedKeywords.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.domain.rankedKeywords.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.domain.rankedKeywords.list","description":"Read the keywords a domain ranks for. A fresh read contacts the paid SEO provider and stores a complete research snapshot; a cache hit replays it without a provider call. maxResults bounds the initial provider selection; limit and cursor page only that saved selection. nextCursor is null when the selected snapshot is exhausted; sourceTotalCount retains the provider corpus count when supplied. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"target":"example.com"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","items":[{"id":"12345678-1234-4234-8234-123456789abd:0","keyword":"crm software","position":4,"absolutePosition":6,"searchVolume":1900,"url":"https://example.com/crm","intent":"commercial"}],"totalCount":1,"sourceTotalCount":1,"costCents":1,"costMicroCents":1000000,"currency":"USD","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"providerPath":"domain_ranked_keywords","researchLog":[],"failures":[],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.domain.rankedKeywords.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoDomainRankedKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.indexCoverage.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.indexCoverage.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.indexCoverage.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.indexCoverage.get","description":"Read index coverage inspection and IndexNow settings. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"https://example.com","dailyInspectionBudget":300,"usedToday":0,"indexNowKeyState":"missing","indexNowKey":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.indexCoverage.scheduleRechecks":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.indexCoverage.scheduleRechecks","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.indexCoverage.scheduleRechecks","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.indexCoverage.scheduleRechecks","description":"Schedule Search Console rechecks after a fix or submission. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test","urls":["https://acme.test/services"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"https://example.com","scheduled":[{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"https://example.com","url":"https://example.com/services","sources":["sitemap"],"firstSeenAt":"2026-10-13T10:00:00.000Z","lastSeenAt":"2026-10-13T10:00:00.000Z","lastInspectedAt":null,"verdict":"unknown","coverageState":null,"indexingState":null,"robotsTxtState":null,"pageFetchState":null,"googleCanonical":null,"userCanonical":null,"sitemapsReported":[],"referringUrlCount":0,"crawlHttpStatus":null,"crawlNoindex":null,"crawlCanonical":null,"internalLinkCount":0,"impressions90d":0,"clicks90d":0,"lifecycle":"awaiting_recheck","recheckAfterAt":"2026-10-16T10:00:00.000Z","recheckCount":0,"submissions":[],"diagnosis":null,"priority":50,"excluded":false,"linkedActionId":null,"revision":1}]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageScheduleRechecksError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.indexCoverage.submit":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.indexCoverage.submit","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.indexCoverage.submit","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.indexCoverage.submit","description":"Submit eligible URLs through IndexNow or a sitemap. Direct Google Indexing API submissions are disabled. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test","urls":["https://acme.test/services"],"channels":["indexnow"],"idempotencyKey":"seo-submission-2026"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"https://example.com","submitted":[{"url":"https://example.com/services","channel":"indexnow","status":"accepted"}],"skipped":[]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXING_API_NOT_ENABLED","when":"Direct Google Indexing API submissions are disabled, including for old grants and saved opt-ins.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXING_API_NOT_ENABLED","when":"Direct Google Indexing API submissions are disabled, including for old grants and saved opt-ins.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXING_API_NOT_ENABLED","when":"Direct Google Indexing API submissions are disabled, including for old grants and saved opt-ins.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXING_API_NOT_ENABLED","when":"Direct Google Indexing API submissions are disabled, including for old grants and saved opt-ins.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXING_API_NOT_ENABLED","when":"Direct Google Indexing API submissions are disabled, including for old grants and saved opt-ins.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXING_API_NOT_ENABLED","when":"Direct Google Indexing API submissions are disabled, including for old grants and saved opt-ins.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXING_API_NOT_ENABLED","when":"Direct Google Indexing API submissions are disabled, including for old grants and saved opt-ins.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXING_API_NOT_ENABLED","when":"Direct Google Indexing API submissions are disabled, including for old grants and saved opt-ins.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXING_API_NOT_ENABLED","when":"Direct Google Indexing API submissions are disabled, including for old grants and saved opt-ins.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXING_API_NOT_ENABLED","when":"Direct Google Indexing API submissions are disabled, including for old grants and saved opt-ins.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.submit"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageSubmitError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.indexCoverage.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.indexCoverage.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.indexCoverage.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.indexCoverage.update","description":"Update the bounded daily URL Inspection budget. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test","dailyInspectionBudget":300}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"https://example.com","dailyInspectionBudget":500,"revision":2}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SETTINGS_REVISION_CONFLICT","when":"Inspection settings changed concurrently.","recovery":{"operation":"marketing.seo.indexCoverage.get","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SETTINGS_REVISION_CONFLICT","when":"Inspection settings changed concurrently.","recovery":{"operation":"marketing.seo.indexCoverage.get","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SETTINGS_REVISION_CONFLICT","when":"Inspection settings changed concurrently.","recovery":{"operation":"marketing.seo.indexCoverage.get","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SETTINGS_REVISION_CONFLICT","when":"Inspection settings changed concurrently.","recovery":{"operation":"marketing.seo.indexCoverage.get","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SETTINGS_REVISION_CONFLICT","when":"Inspection settings changed concurrently.","recovery":{"operation":"marketing.seo.indexCoverage.get","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SETTINGS_REVISION_CONFLICT","when":"Inspection settings changed concurrently.","recovery":{"operation":"marketing.seo.indexCoverage.get","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SETTINGS_REVISION_CONFLICT","when":"Inspection settings changed concurrently.","recovery":{"operation":"marketing.seo.indexCoverage.get","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SETTINGS_REVISION_CONFLICT","when":"Inspection settings changed concurrently.","recovery":{"operation":"marketing.seo.indexCoverage.get","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SETTINGS_REVISION_CONFLICT","when":"Inspection settings changed concurrently.","recovery":{"operation":"marketing.seo.indexCoverage.get","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexCoverage.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SETTINGS_REVISION_CONFLICT","when":"Inspection settings changed concurrently.","recovery":{"operation":"marketing.seo.indexCoverage.get","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexCoverageUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.indexNow.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.indexNow.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.indexNow.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.indexNow.create","description":"Create the IndexNow key artifact to add to the connected repository. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"https://example.com","key":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","filePath":"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.txt","fileContent":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","state":"change_proposed"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.indexNow.verify":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.indexNow.verify","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.indexNow.verify","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.indexNow.verify","description":"Verify the published IndexNow key file on the site. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"https://example.com","verified":true,"state":"verified"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXNOW_KEY_NOT_PREPARED","when":"No prepared key or live-page fetch adapter exists.","recovery":{"operation":"marketing.seo.indexNow.create","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXNOW_KEY_NOT_PREPARED","when":"No prepared key or live-page fetch adapter exists.","recovery":{"operation":"marketing.seo.indexNow.create","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXNOW_KEY_NOT_PREPARED","when":"No prepared key or live-page fetch adapter exists.","recovery":{"operation":"marketing.seo.indexNow.create","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXNOW_KEY_NOT_PREPARED","when":"No prepared key or live-page fetch adapter exists.","recovery":{"operation":"marketing.seo.indexNow.create","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXNOW_KEY_NOT_PREPARED","when":"No prepared key or live-page fetch adapter exists.","recovery":{"operation":"marketing.seo.indexNow.create","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXNOW_KEY_NOT_PREPARED","when":"No prepared key or live-page fetch adapter exists.","recovery":{"operation":"marketing.seo.indexNow.create","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXNOW_KEY_NOT_PREPARED","when":"No prepared key or live-page fetch adapter exists.","recovery":{"operation":"marketing.seo.indexNow.create","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXNOW_KEY_NOT_PREPARED","when":"No prepared key or live-page fetch adapter exists.","recovery":{"operation":"marketing.seo.indexNow.create","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXNOW_KEY_NOT_PREPARED","when":"No prepared key or live-page fetch adapter exists.","recovery":{"operation":"marketing.seo.indexNow.create","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.indexNow.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_INDEXNOW_KEY_NOT_PREPARED","when":"No prepared key or live-page fetch adapter exists.","recovery":{"operation":"marketing.seo.indexNow.create","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoIndexNowVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.insights.generate":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.insights.generate","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.insights.generate","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.insights.generate","description":"Generate an AI narrative with keyword and prompt suggestions. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"language":"de"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","language":"en","generatedAt":"2026-09-10T10:00:00.000Z","narrative":"Track relevant service keywords to establish the first ranking baseline.","suggestedKeywords":[{"keyword":"crm software","reason":"A relevant commercial query for the service."}],"suggestedPrompts":[{"prompt":"Which CRM helps a growing team manage customer relationships?","reason":"A prospective customer question."}],"nextSteps":["Track the service keyword and run a visibility check."],"basedOn":{"trackedKeywords":0,"checkedKeywords":0,"trackedPrompts":0}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_INSIGHTS_UNAVAILABLE","when":"The metered AI insight adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"SEO_AI_INSIGHTS_FAILED","when":"Generation fails or returns an invalid structured result.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot fund generation.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_INSIGHTS_UNAVAILABLE","when":"The metered AI insight adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"SEO_AI_INSIGHTS_FAILED","when":"Generation fails or returns an invalid structured result.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot fund generation.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_INSIGHTS_UNAVAILABLE","when":"The metered AI insight adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"SEO_AI_INSIGHTS_FAILED","when":"Generation fails or returns an invalid structured result.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot fund generation.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_INSIGHTS_UNAVAILABLE","when":"The metered AI insight adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"SEO_AI_INSIGHTS_FAILED","when":"Generation fails or returns an invalid structured result.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot fund generation.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_INSIGHTS_UNAVAILABLE","when":"The metered AI insight adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"SEO_AI_INSIGHTS_FAILED","when":"Generation fails or returns an invalid structured result.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot fund generation.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_INSIGHTS_UNAVAILABLE","when":"The metered AI insight adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"SEO_AI_INSIGHTS_FAILED","when":"Generation fails or returns an invalid structured result.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot fund generation.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_INSIGHTS_UNAVAILABLE","when":"The metered AI insight adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"SEO_AI_INSIGHTS_FAILED","when":"Generation fails or returns an invalid structured result.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot fund generation.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_INSIGHTS_UNAVAILABLE","when":"The metered AI insight adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"SEO_AI_INSIGHTS_FAILED","when":"Generation fails or returns an invalid structured result.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot fund generation.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_INSIGHTS_UNAVAILABLE","when":"The metered AI insight adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"SEO_AI_INSIGHTS_FAILED","when":"Generation fails or returns an invalid structured result.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot fund generation.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_AI_INSIGHTS_UNAVAILABLE","when":"The metered AI insight adapter is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.insights.generate"}}},{"code":"SEO_AI_INSIGHTS_FAILED","when":"Generation fails or returns an invalid structured result.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot fund generation.","recovery":{"operation":"marketing.seo.rankTracking.overview.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInsightsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.inspections.run":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.inspections.run","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.inspections.run","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.inspections.run","description":"Inspect due URLs against Google Search Console within the daily budget. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test","limit":20}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"https://example.com","inspected":[{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"https://example.com","url":"https://example.com/services","sources":["sitemap"],"firstSeenAt":"2026-10-13T10:00:00.000Z","lastSeenAt":"2026-10-13T10:00:00.000Z","lastInspectedAt":null,"verdict":"unknown","coverageState":null,"indexingState":null,"robotsTxtState":null,"pageFetchState":null,"googleCanonical":null,"userCanonical":null,"sitemapsReported":[],"referringUrlCount":0,"crawlHttpStatus":null,"crawlNoindex":null,"crawlCanonical":null,"internalLinkCount":0,"impressions90d":0,"clicks90d":0,"lifecycle":"new","recheckAfterAt":null,"recheckCount":0,"submissions":[],"diagnosis":null,"priority":50,"excluded":false,"linkedActionId":null,"revision":1}],"reserved":1,"remaining":299}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEO_INDEX_INSPECTION_BUDGET_EXHAUSTED","when":"No daily inspection capacity remains.","recovery":{"operation":"marketing.seo.indexCoverage.update","requiredFields":["siteUrl","dailyInspectionBudget"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEO_INDEX_INSPECTION_BUDGET_EXHAUSTED","when":"No daily inspection capacity remains.","recovery":{"operation":"marketing.seo.indexCoverage.update","requiredFields":["siteUrl","dailyInspectionBudget"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEO_INDEX_INSPECTION_BUDGET_EXHAUSTED","when":"No daily inspection capacity remains.","recovery":{"operation":"marketing.seo.indexCoverage.update","requiredFields":["siteUrl","dailyInspectionBudget"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEO_INDEX_INSPECTION_BUDGET_EXHAUSTED","when":"No daily inspection capacity remains.","recovery":{"operation":"marketing.seo.indexCoverage.update","requiredFields":["siteUrl","dailyInspectionBudget"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEO_INDEX_INSPECTION_BUDGET_EXHAUSTED","when":"No daily inspection capacity remains.","recovery":{"operation":"marketing.seo.indexCoverage.update","requiredFields":["siteUrl","dailyInspectionBudget"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEO_INDEX_INSPECTION_BUDGET_EXHAUSTED","when":"No daily inspection capacity remains.","recovery":{"operation":"marketing.seo.indexCoverage.update","requiredFields":["siteUrl","dailyInspectionBudget"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEO_INDEX_INSPECTION_BUDGET_EXHAUSTED","when":"No daily inspection capacity remains.","recovery":{"operation":"marketing.seo.indexCoverage.update","requiredFields":["siteUrl","dailyInspectionBudget"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEO_INDEX_INSPECTION_BUDGET_EXHAUSTED","when":"No daily inspection capacity remains.","recovery":{"operation":"marketing.seo.indexCoverage.update","requiredFields":["siteUrl","dailyInspectionBudget"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEO_INDEX_INSPECTION_BUDGET_EXHAUSTED","when":"No daily inspection capacity remains.","recovery":{"operation":"marketing.seo.indexCoverage.update","requiredFields":["siteUrl","dailyInspectionBudget"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inspections.run"}}},{"code":"SEO_INDEX_INSPECTION_BUDGET_EXHAUSTED","when":"No daily inspection capacity remains.","recovery":{"operation":"marketing.seo.indexCoverage.update","requiredFields":["siteUrl","dailyInspectionBudget"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInspectionsRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.inventory.reconcile":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.inventory.reconcile","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.inventory.reconcile","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"summary":"marketing.seo.inventory.reconcile","description":"Synchronize Search Console, sitemap, analytics, and crawl page inventory. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"https://example.com","siteUrl":"https://example.com","discovered":1,"analytics":1,"merged":1,"sitemaps":1}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEO_SITE_URL_REQUIRED","when":"No requested site or saved context identifies a website.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEO_SITE_URL_REQUIRED","when":"No requested site or saved context identifies a website.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEO_SITE_URL_REQUIRED","when":"No requested site or saved context identifies a website.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEO_SITE_URL_REQUIRED","when":"No requested site or saved context identifies a website.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEO_SITE_URL_REQUIRED","when":"No requested site or saved context identifies a website.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEO_SITE_URL_REQUIRED","when":"No requested site or saved context identifies a website.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEO_SITE_URL_REQUIRED","when":"No requested site or saved context identifies a website.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEO_SITE_URL_REQUIRED","when":"No requested site or saved context identifies a website.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEO_SITE_URL_REQUIRED","when":"No requested site or saved context identifies a website.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEARCH_CONSOLE_CONNECTION_REQUIRED","when":"No usable selected Search Console connection exists.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_ACCESSIBLE","when":"The requested property or URL differs from the selected accessible property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_SELECTION_REQUIRED","when":"The connection has no selected site.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_REAUTHENTICATION_REQUIRED","when":"The stored credential cannot be refreshed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_PROVIDER_ERROR","when":"The Search Console credential provider is unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_QUOTA_EXCEEDED","when":"The provider rejected the credential refresh quota; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEARCH_CONSOLE_SITE_NOT_VERIFIED","when":"The provider rejected access to the selected property.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.inventory.reconcile"}}},{"code":"SEO_SITE_URL_REQUIRED","when":"No requested site or saved context identifies a website.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoInventoryReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.keywords.metrics.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.keywords.metrics.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.keywords.metrics.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.keywords.metrics.get","description":"Read keyword demand and competition metrics. A fresh read contacts the paid SEO provider and stores a complete research snapshot; a cache hit replays it without a provider call.  Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keywords":["seo"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","items":[{"keyword":"crm software","searchVolume":1900}],"totalCount":1,"sourceTotalCount":1,"costCents":1,"costMicroCents":1000000,"currency":"USD","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"providerPath":"keywords_metrics","researchLog":[],"failures":[]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.metrics.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsMetricsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.keywords.search":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.keywords.search","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.keywords.search","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.keywords.search","description":"Research SEO keyword ideas from bounded seeds. A fresh read contacts the paid SEO provider and stores a complete research snapshot; a cache hit replays it without a provider call. maxResults bounds the initial provider selection; limit and cursor page only that saved selection. nextCursor is null when the selected snapshot is exhausted; sourceTotalCount retains the provider corpus count when supplied. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"seeds":["seo"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","items":[{"keyword":"crm software","searchVolume":1900}],"totalCount":1,"sourceTotalCount":1,"costCents":1,"costMicroCents":1000000,"currency":"USD","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"providerPath":"keywords_research","researchLog":[],"failures":[],"nextCursor":null,"sources":{"crm":"ideas"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.keywords.search"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoKeywordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.livePages.verify":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.livePages.verify","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.livePages.verify","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.livePages.verify","description":"Verify a live URL status and content hash through the safe page-fetch adapter. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"url":"https://acme.test/services"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"078f228c8b3425c2d4e9cdefe0e5c77aa9c62ab78cdb4b7a505f5f2fb25a6cc7","checkedAt":"2026-09-10T10:00:00.000Z","url":"https://example.com/services","finalUrl":"https://example.com/services","status":200,"contentHash":"fdc8fff9341cca4e4ead3a3982599295bd5feb380a7a94db0beb88b12b9b08d2","contentLength":12,"matched":true,"checks":{"status":true,"contentHash":null}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_FETCH_FAILED","when":"Safe URL fetching rejects the URL or cannot read the page.","recovery":{"operation":"marketing.seo.livePages.verify","requiredFields":["url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_FETCH_FAILED","when":"Safe URL fetching rejects the URL or cannot read the page.","recovery":{"operation":"marketing.seo.livePages.verify","requiredFields":["url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_FETCH_FAILED","when":"Safe URL fetching rejects the URL or cannot read the page.","recovery":{"operation":"marketing.seo.livePages.verify","requiredFields":["url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_FETCH_FAILED","when":"Safe URL fetching rejects the URL or cannot read the page.","recovery":{"operation":"marketing.seo.livePages.verify","requiredFields":["url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_FETCH_FAILED","when":"Safe URL fetching rejects the URL or cannot read the page.","recovery":{"operation":"marketing.seo.livePages.verify","requiredFields":["url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_FETCH_FAILED","when":"Safe URL fetching rejects the URL or cannot read the page.","recovery":{"operation":"marketing.seo.livePages.verify","requiredFields":["url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_FETCH_FAILED","when":"Safe URL fetching rejects the URL or cannot read the page.","recovery":{"operation":"marketing.seo.livePages.verify","requiredFields":["url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_FETCH_FAILED","when":"Safe URL fetching rejects the URL or cannot read the page.","recovery":{"operation":"marketing.seo.livePages.verify","requiredFields":["url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.livePages.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_FETCH_FAILED","when":"Safe URL fetching rejects the URL or cannot read the page.","recovery":{"operation":"marketing.seo.livePages.verify","requiredFields":["url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLivePagesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.localGridEstimates.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.localGridEstimates.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.localGridEstimates.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.localGridEstimates.get","description":"Estimate the list-price cost of an on-demand Maps rank grid. Maps rank grids are list-priced per point; the provider cost is recorded per run. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keywordId":"12345678-1234-4234-8234-123456789abd","size":7,"spacingMeters":1000}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","size":7,"spacingMeters":1000,"points":49,"method":"queued","estimatedCostCents":3,"estimatedCostMicroCents":29400,"currency":"USD","estimatedChargeCents":9,"chargeCurrency":"EUR","estimatedChargeMicroEuros":88200,"ceilingCents":3,"reusableRunId":null,"reuseWindowHours":24,"estimateToken":"example-estimate-token","estimateExpiresAt":"2026-10-06T10:15:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"LOCAL_GRID_ESTIMATE_UNAVAILABLE","when":"The grid cost cannot be estimated right now; retry the estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"LOCAL_GRID_ESTIMATE_UNAVAILABLE","when":"The grid cost cannot be estimated right now; retry the estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"LOCAL_GRID_ESTIMATE_UNAVAILABLE","when":"The grid cost cannot be estimated right now; retry the estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"LOCAL_GRID_ESTIMATE_UNAVAILABLE","when":"The grid cost cannot be estimated right now; retry the estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"LOCAL_GRID_ESTIMATE_UNAVAILABLE","when":"The grid cost cannot be estimated right now; retry the estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"LOCAL_GRID_ESTIMATE_UNAVAILABLE","when":"The grid cost cannot be estimated right now; retry the estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"LOCAL_GRID_ESTIMATE_UNAVAILABLE","when":"The grid cost cannot be estimated right now; retry the estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"LOCAL_GRID_ESTIMATE_UNAVAILABLE","when":"The grid cost cannot be estimated right now; retry the estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"LOCAL_GRID_ESTIMATE_UNAVAILABLE","when":"The grid cost cannot be estimated right now; retry the estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridEstimates.get"}}},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.localGridRuns.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.localGridRuns.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.localGridRuns.create","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.localGridRuns.create","description":"Run an on-demand 5x5 or 7x7 Maps rank grid after confirming its estimate. Maps rank grids are list-priced per point; the provider cost is recorded per run. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keywordId":"12345678-1234-4234-8234-123456789abd","size":7,"spacingMeters":1000,"confirmedCostCents":1,"estimateToken":"lgest1.example.signature"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","locationId":"12345678-1234-4234-8234-123456789abd","keywordId":"12345678-1234-4234-8234-123456789abd","keyword":"dentist berlin mitte","languageCode":"en","mode":"on_demand","size":7,"spacingMeters":1000,"centerLat":52.52,"centerLng":13.405,"method":"queued","status":"queued","estimatedCostCents":3,"estimatedCostMicroCents":29400,"costCents":3,"costMicroCents":29400,"currency":"USD","error":null,"chargeCents":9,"chargeCurrency":"EUR","chargeMicroEuros":88200,"createdAt":"2026-10-13T10:00:00.000Z","finishedAt":null,"points":[],"reused":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_EXPIRED","when":"The estimate token expired; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_INVALID","when":"The estimate token does not match this keyword or account; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_COST_NOT_CONFIRMED","when":"confirmedCostCents differs from the estimate; a reused run is not charged.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The saved coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"SEO_LOCAL_PROVIDER_UNAVAILABLE","when":"The Maps provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the confirmed provider charge.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_PROVIDER_ERROR","when":"No provider post outcome was recorded; read existing runs before retrying.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_EXPIRED","when":"The estimate token expired; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_INVALID","when":"The estimate token does not match this keyword or account; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_COST_NOT_CONFIRMED","when":"confirmedCostCents differs from the estimate; a reused run is not charged.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The saved coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"SEO_LOCAL_PROVIDER_UNAVAILABLE","when":"The Maps provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the confirmed provider charge.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_PROVIDER_ERROR","when":"No provider post outcome was recorded; read existing runs before retrying.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_EXPIRED","when":"The estimate token expired; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_INVALID","when":"The estimate token does not match this keyword or account; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_COST_NOT_CONFIRMED","when":"confirmedCostCents differs from the estimate; a reused run is not charged.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The saved coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"SEO_LOCAL_PROVIDER_UNAVAILABLE","when":"The Maps provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the confirmed provider charge.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_PROVIDER_ERROR","when":"No provider post outcome was recorded; read existing runs before retrying.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_EXPIRED","when":"The estimate token expired; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_INVALID","when":"The estimate token does not match this keyword or account; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_COST_NOT_CONFIRMED","when":"confirmedCostCents differs from the estimate; a reused run is not charged.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The saved coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"SEO_LOCAL_PROVIDER_UNAVAILABLE","when":"The Maps provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the confirmed provider charge.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_PROVIDER_ERROR","when":"No provider post outcome was recorded; read existing runs before retrying.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_EXPIRED","when":"The estimate token expired; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_INVALID","when":"The estimate token does not match this keyword or account; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_COST_NOT_CONFIRMED","when":"confirmedCostCents differs from the estimate; a reused run is not charged.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The saved coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"SEO_LOCAL_PROVIDER_UNAVAILABLE","when":"The Maps provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the confirmed provider charge.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_PROVIDER_ERROR","when":"No provider post outcome was recorded; read existing runs before retrying.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_EXPIRED","when":"The estimate token expired; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_INVALID","when":"The estimate token does not match this keyword or account; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_COST_NOT_CONFIRMED","when":"confirmedCostCents differs from the estimate; a reused run is not charged.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The saved coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"SEO_LOCAL_PROVIDER_UNAVAILABLE","when":"The Maps provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the confirmed provider charge.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_PROVIDER_ERROR","when":"No provider post outcome was recorded; read existing runs before retrying.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_EXPIRED","when":"The estimate token expired; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_INVALID","when":"The estimate token does not match this keyword or account; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_COST_NOT_CONFIRMED","when":"confirmedCostCents differs from the estimate; a reused run is not charged.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The saved coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"SEO_LOCAL_PROVIDER_UNAVAILABLE","when":"The Maps provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the confirmed provider charge.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_PROVIDER_ERROR","when":"No provider post outcome was recorded; read existing runs before retrying.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_EXPIRED","when":"The estimate token expired; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_INVALID","when":"The estimate token does not match this keyword or account; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_COST_NOT_CONFIRMED","when":"confirmedCostCents differs from the estimate; a reused run is not charged.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The saved coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"SEO_LOCAL_PROVIDER_UNAVAILABLE","when":"The Maps provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the confirmed provider charge.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_PROVIDER_ERROR","when":"No provider post outcome was recorded; read existing runs before retrying.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_EXPIRED","when":"The estimate token expired; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_INVALID","when":"The estimate token does not match this keyword or account; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_COST_NOT_CONFIRMED","when":"confirmedCostCents differs from the estimate; a reused run is not charged.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The saved coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"SEO_LOCAL_PROVIDER_UNAVAILABLE","when":"The Maps provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the confirmed provider charge.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_PROVIDER_ERROR","when":"No provider post outcome was recorded; read existing runs before retrying.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The requested keyword does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The keyword location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_EXPIRED","when":"The estimate token expired; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"LOCAL_GRID_ESTIMATE_TOKEN_INVALID","when":"The estimate token does not match this keyword or account; request a fresh estimate.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_COST_NOT_CONFIRMED","when":"confirmedCostCents differs from the estimate; a reused run is not charged.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The saved coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"SEO_LOCAL_PROVIDER_UNAVAILABLE","when":"The Maps provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.create"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the confirmed provider charge.","recovery":{"operation":"marketing.seo.localGridEstimates.get","requiredFields":["keywordId"]}},{"code":"SEO_LOCAL_PROVIDER_ERROR","when":"No provider post outcome was recorded; read existing runs before retrying.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.localGridRuns.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.localGridRuns.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.localGridRuns.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.localGridRuns.get","description":"Read one Maps rank grid run with its points and summary metrics. Maps rank grids are list-priced per point; the provider cost is recorded per run. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"runId":"12345678-1234-4234-8234-123456789abd"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","locationId":"12345678-1234-4234-8234-123456789abd","keywordId":"12345678-1234-4234-8234-123456789abd","keyword":"dentist berlin mitte","languageCode":"en","mode":"on_demand","size":7,"spacingMeters":1000,"centerLat":52.52,"centerLng":13.405,"method":"queued","status":"queued","estimatedCostCents":3,"estimatedCostMicroCents":29400,"costCents":3,"costMicroCents":29400,"currency":"USD","error":null,"chargeCents":9,"chargeCurrency":"EUR","chargeMicroEuros":88200,"createdAt":"2026-10-13T10:00:00.000Z","finishedAt":null,"points":[],"summary":{"points":49,"measured":0,"found":0,"foundRatio":null,"averageRank":null,"averageRankNotFoundAsDepth":null,"topThreeShare":null}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.localGridRuns.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.localGridRuns.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.localGridRuns.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.localGridRuns.list","description":"List Maps rank grid runs for trend reading. Maps rank grids are list-priced per point; the provider cost is recorded per run. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keywordId":"12345678-1234-4234-8234-123456789abd","limit":20}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abd","locationId":"12345678-1234-4234-8234-123456789abd","keywordId":"12345678-1234-4234-8234-123456789abd","keyword":"dentist berlin mitte","languageCode":"en","mode":"on_demand","size":7,"spacingMeters":1000,"centerLat":52.52,"centerLng":13.405,"method":"queued","status":"queued","estimatedCostCents":3,"estimatedCostMicroCents":29400,"costCents":3,"costMicroCents":29400,"currency":"USD","error":null,"chargeCents":9,"chargeCurrency":"EUR","chargeMicroEuros":88200,"createdAt":"2026-10-13T10:00:00.000Z","finishedAt":null}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.localGridRuns.reconcile":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.localGridRuns.reconcile","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.localGridRuns.reconcile","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.localGridRuns.reconcile","description":"Collect finished results of a queued Maps rank grid run. Maps rank grids are list-priced per point; the provider cost is recorded per run. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"runId":"12345678-1234-4234-8234-123456789abd"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","locationId":"12345678-1234-4234-8234-123456789abd","keywordId":"12345678-1234-4234-8234-123456789abd","keyword":"dentist berlin mitte","languageCode":"en","mode":"on_demand","size":7,"spacingMeters":1000,"centerLat":52.52,"centerLng":13.405,"method":"queued","status":"queued","estimatedCostCents":3,"estimatedCostMicroCents":29400,"costCents":3,"costMicroCents":29400,"currency":"USD","error":null,"chargeCents":9,"chargeCurrency":"EUR","chargeMicroEuros":88200,"createdAt":"2026-10-13T10:00:00.000Z","finishedAt":null,"points":[]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localGridRuns.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localGridRuns.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalGridRunsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.localKeywords.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.localKeywords.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.localKeywords.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.localKeywords.create","description":"Track a local keyword for a location. Local rank grids are list-priced Google Maps checks; provider cost is recorded per run. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"locationId":"12345678-1234-4234-8234-123456789abd","keyword":"zahnarzt berlin mitte","languageCode":"de"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","locationId":"12345678-1234-4234-8234-123456789abd","keyword":"dentist berlin mitte","languageCode":"en","createdAt":"2026-10-13T10:00:00.000Z","removedAt":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_KEYWORD_LIMIT","when":"The location already tracks fifty keywords.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_KEYWORD_LIMIT","when":"The location already tracks fifty keywords.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_KEYWORD_LIMIT","when":"The location already tracks fifty keywords.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_KEYWORD_LIMIT","when":"The location already tracks fifty keywords.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_KEYWORD_LIMIT","when":"The location already tracks fifty keywords.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_KEYWORD_LIMIT","when":"The location already tracks fifty keywords.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_KEYWORD_LIMIT","when":"The location already tracks fifty keywords.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_KEYWORD_LIMIT","when":"The location already tracks fifty keywords.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_KEYWORD_LIMIT","when":"The location already tracks fifty keywords.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_KEYWORD_LIMIT","when":"The location already tracks fifty keywords.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.localKeywords.delete":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.localKeywords.delete","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.localKeywords.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.localKeywords.delete","description":"Stop tracking a local keyword; stored grid runs are kept. Local rank grids are list-priced Google Maps checks; provider cost is recorded per run. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keywordId":"12345678-1234-4234-8234-123456789abd"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","locationId":"12345678-1234-4234-8234-123456789abd","keyword":"dentist berlin mitte","languageCode":"en","createdAt":"2026-10-13T10:00:00.000Z","removedAt":"2026-10-13T10:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The keyword does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The keyword does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The keyword does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The keyword does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The keyword does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The keyword does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The keyword does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The keyword does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The keyword does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localKeywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_KEYWORD_NOT_FOUND","when":"The keyword does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.localLocations.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.localLocations.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.localLocations.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.localLocations.create","description":"Add a business location for Google Maps rank grids. Local rank grids are list-priced Google Maps checks; provider cost is recorded per run. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"name":"Filiale Mitte","lat":52.52,"lng":13.405,"websiteDomain":"example.de"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","name":"Berlin practice","businessName":"Example Dental","placeId":null,"cid":null,"websiteDomain":"example.com","lat":52.52,"lng":13.405,"nextCheckAt":null,"createdAt":"2026-10-13T10:00:00.000Z","removedAt":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"SEO_LOCAL_LOCATION_LIMIT","when":"The account already has fifty locations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"SEO_LOCAL_LOCATION_LIMIT","when":"The account already has fifty locations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"SEO_LOCAL_LOCATION_LIMIT","when":"The account already has fifty locations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"SEO_LOCAL_LOCATION_LIMIT","when":"The account already has fifty locations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"SEO_LOCAL_LOCATION_LIMIT","when":"The account already has fifty locations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"SEO_LOCAL_LOCATION_LIMIT","when":"The account already has fifty locations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"SEO_LOCAL_LOCATION_LIMIT","when":"The account already has fifty locations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"SEO_LOCAL_LOCATION_LIMIT","when":"The account already has fifty locations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"SEO_LOCAL_LOCATION_LIMIT","when":"The account already has fifty locations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}},{"code":"SEO_LOCAL_LOCATION_LIMIT","when":"The account already has fifty locations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.localLocations.delete":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.localLocations.delete","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.localLocations.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.localLocations.delete","description":"Remove a local location while keeping its grid history. Local rank grids are list-priced Google Maps checks; provider cost is recorded per run. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"locationId":"12345678-1234-4234-8234-123456789abd"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","name":"Berlin practice","businessName":"Example Dental","placeId":null,"cid":null,"websiteDomain":"example.com","lat":52.52,"lng":13.405,"nextCheckAt":null,"createdAt":"2026-10-13T10:00:00.000Z","removedAt":"2026-10-13T10:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.localLocations.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.localLocations.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.localLocations.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.localLocations.list","description":"List local SEO locations and their tracked keywords. Local rank grids are list-priced Google Maps checks; provider cost is recorded per run. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abd","name":"Berlin practice","businessName":"Example Dental","placeId":null,"cid":null,"websiteDomain":"example.com","lat":52.52,"lng":13.405,"nextCheckAt":null,"createdAt":"2026-10-13T10:00:00.000Z","removedAt":null}],"keywords":[{"id":"12345678-1234-4234-8234-123456789abd","locationId":"12345678-1234-4234-8234-123456789abd","keyword":"dentist berlin mitte","languageCode":"en","createdAt":"2026-10-13T10:00:00.000Z","removedAt":null}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.localLocations.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.localLocations.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.localLocations.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.localLocations.update","description":"Update a local business location. Local rank grids are list-priced Google Maps checks; provider cost is recorded per run. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"locationId":"12345678-1234-4234-8234-123456789abd","lat":52.52}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","name":"Berlin clinic","businessName":"Example Dental","placeId":null,"cid":null,"websiteDomain":"example.com","lat":52.52,"lng":13.405,"nextCheckAt":null,"createdAt":"2026-10-13T10:00:00.000Z","removedAt":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LOCAL_LOCATION_NOT_FOUND","when":"The location does not exist or has been removed.","recovery":{"operation":"marketing.seo.localLocations.list"}},{"code":"SEO_LOCAL_LOCATION_COORDINATE_INVALID","when":"The coordinates cannot form a supported grid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.localLocations.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoLocalLocationsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.market.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.market.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.market.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.market.update","description":"Set the account market used by SEO research. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"locationCode":2276,"languageCode":"de"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","locationCode":2276,"languageCode":"de"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The selected location does not support the requested market language.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The selected location does not support the requested market language.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The selected location does not support the requested market language.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The selected location does not support the requested market language.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The selected location does not support the requested market language.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The selected location does not support the requested market language.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The selected location does not support the requested market language.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The selected location does not support the requested market language.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The selected location does not support the requested market language.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.market.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The selected location does not support the requested market language.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoMarketUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.opportunities.assign":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.opportunities.assign","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.opportunities.assign","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.opportunities.assign","description":"Manage durable SEO opportunities and editable plans. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"opportunityId":"12345678-1234-4234-8234-123456789ac1","expectedRevision":1,"idempotencyKey":"opportunity-adopt-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"opportunity":{"id":"12345678-1234-4234-8234-123456789ac1","accountId":"12345678-1234-4234-8234-123456789abc","siteDomain":"example.com","market":null,"kind":"keyword","keyword":"crm software","targetUrl":"https://example.com/crm-software","title":"Improve the CRM software page","rationale":"Explain how growing teams choose CRM software.","uncertainty":null,"priority":50,"prioritySource":"user","pageScore":null,"evidence":[],"sourceResultIds":[],"decision":"unreviewed","decisionRecord":null,"planOrder":0,"revision":1,"linkedWorkId":null,"linkedActionId":null,"linkedTrackedKeywordId":null,"dedupeKey":"keyword:crm-software","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z"},"workId":"b2345678-1234-4234-8234-123456789abd","actionId":null,"replay":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_WORK_ACTION_UNAVAILABLE","when":"An authenticated user and task adapter are required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assign"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.opportunities.assignKeyword":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.opportunities.assignKeyword","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.opportunities.assignKeyword","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.opportunities.assignKeyword","description":"Manage durable SEO opportunities and editable plans. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"opportunityId":"12345678-1234-4234-8234-123456789ac1","expectedRevision":1,"keywordId":"keyword-1","idempotencyKey":"opportunity-link-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789ac1","accountId":"12345678-1234-4234-8234-123456789abc","siteDomain":"example.com","market":null,"kind":"keyword","keyword":"crm software","targetUrl":"https://example.com/crm-software","title":"Improve the CRM software page","rationale":"Explain how growing teams choose CRM software.","uncertainty":null,"priority":50,"prioritySource":"user","pageScore":null,"evidence":[],"sourceResultIds":[],"decision":"unreviewed","decisionRecord":null,"planOrder":0,"revision":1,"linkedWorkId":null,"linkedActionId":null,"linkedTrackedKeywordId":"keyword-1","dedupeKey":"keyword:crm-software","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.assignKeyword"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesAssignKeywordError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.opportunities.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.opportunities.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.opportunities.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.opportunities.create","description":"Manage durable SEO opportunities and editable plans. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteDomain":"example.com","title":"Improve CRM page","rationale":"The page targets a relevant commercial query.","idempotencyKey":"opportunity-seed-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789ac1","accountId":"12345678-1234-4234-8234-123456789abc","siteDomain":"example.com","market":null,"kind":"keyword","keyword":"crm software","targetUrl":"https://example.com/crm-software","title":"Improve the CRM software page","rationale":"Explain how growing teams choose CRM software.","uncertainty":null,"priority":50,"prioritySource":"user","pageScore":null,"evidence":[],"sourceResultIds":[],"decision":"unreviewed","decisionRecord":null,"planOrder":0,"revision":1,"linkedWorkId":null,"linkedActionId":null,"linkedTrackedKeywordId":null,"dedupeKey":"keyword:crm-software","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z","duplicate":false,"replay":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.opportunities.delete":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.opportunities.delete","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.opportunities.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.opportunities.delete","description":"Manage durable SEO opportunities and editable plans. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"opportunityId":"12345678-1234-4234-8234-123456789ac1","expectedRevision":1,"idempotencyKey":"opportunity-remove-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_ALREADY_LINKED","when":"The opportunity already has linked work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.delete"}}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.opportunities.generate":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.opportunities.generate","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.opportunities.generate","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.opportunities.generate","description":"Manage durable SEO opportunities and editable plans. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteDomain":"example.com","resultIds":["12345678-1234-4234-8234-123456789ac6"],"idempotencyKey":"opportunity-derive-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"opportunities":[{"id":"12345678-1234-4234-8234-123456789ac1","accountId":"12345678-1234-4234-8234-123456789abc","siteDomain":"example.com","market":null,"kind":"keyword","keyword":"crm software","targetUrl":"https://example.com/crm-software","title":"Improve the CRM software page","rationale":"Explain how growing teams choose CRM software.","uncertainty":null,"priority":50,"prioritySource":"user","pageScore":null,"evidence":[],"sourceResultIds":[],"decision":"unreviewed","decisionRecord":null,"planOrder":0,"revision":1,"linkedWorkId":null,"linkedActionId":null,"linkedTrackedKeywordId":null,"dedupeKey":"keyword:crm-software","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z"}],"duplicates":0}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"One or more saved research results were not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_UNAVAILABLE","when":"Saved SEO research storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"One or more saved research results were not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_UNAVAILABLE","when":"Saved SEO research storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"One or more saved research results were not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_UNAVAILABLE","when":"Saved SEO research storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"One or more saved research results were not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_UNAVAILABLE","when":"Saved SEO research storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"One or more saved research results were not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_UNAVAILABLE","when":"Saved SEO research storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"One or more saved research results were not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_UNAVAILABLE","when":"Saved SEO research storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"One or more saved research results were not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_UNAVAILABLE","when":"Saved SEO research storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"One or more saved research results were not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_UNAVAILABLE","when":"Saved SEO research storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"One or more saved research results were not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_UNAVAILABLE","when":"Saved SEO research storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"One or more saved research results were not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}},{"code":"SEO_RESEARCH_UNAVAILABLE","when":"Saved SEO research storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generate"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.opportunities.generatePages":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.opportunities.generatePages","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.opportunities.generatePages","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.opportunities.generatePages","description":"Manage durable SEO opportunities and editable plans. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteId":"12345678-1234-4234-8234-123456789abd","idempotencyKey":"opportunity-pages-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"opportunities":[],"duplicates":0,"unscoredPages":1,"basis":{"pageCount":1,"outcomesMeasured":false,"window":{"fromDate":"2026-09-01","toDate":"2026-09-07"},"requestedWindow":{"fromDate":"2026-09-01","toDate":"2026-09-07"},"windowMatch":"requested","collectedAt":"2026-10-13T12:00:00.000Z"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_PAGE_SCORING_NO_OBSERVATIONS","when":"No Search Console property is linked to this SEO site, so there are no stored page observations to score.","recovery":{"operation":"marketing.seo.performance.observations.import","requiredFields":["siteUrl","fromDate","toDate"]}},{"code":"SEO_PAGE_SCORING_UNAVAILABLE","when":"Search Console observation, outcome and site context storage are required to score pages.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_SITE_CONTEXT_INCOMPLETE","when":"The SEO site has no domain to score pages for.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","domain"]}},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site was not found for this account.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_PAGE_SCORING_NO_OBSERVATIONS","when":"No Search Console property is linked to this SEO site, so there are no stored page observations to score.","recovery":{"operation":"marketing.seo.performance.observations.import","requiredFields":["siteUrl","fromDate","toDate"]}},{"code":"SEO_PAGE_SCORING_UNAVAILABLE","when":"Search Console observation, outcome and site context storage are required to score pages.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_SITE_CONTEXT_INCOMPLETE","when":"The SEO site has no domain to score pages for.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","domain"]}},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site was not found for this account.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_PAGE_SCORING_NO_OBSERVATIONS","when":"No Search Console property is linked to this SEO site, so there are no stored page observations to score.","recovery":{"operation":"marketing.seo.performance.observations.import","requiredFields":["siteUrl","fromDate","toDate"]}},{"code":"SEO_PAGE_SCORING_UNAVAILABLE","when":"Search Console observation, outcome and site context storage are required to score pages.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_SITE_CONTEXT_INCOMPLETE","when":"The SEO site has no domain to score pages for.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","domain"]}},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site was not found for this account.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_PAGE_SCORING_NO_OBSERVATIONS","when":"No Search Console property is linked to this SEO site, so there are no stored page observations to score.","recovery":{"operation":"marketing.seo.performance.observations.import","requiredFields":["siteUrl","fromDate","toDate"]}},{"code":"SEO_PAGE_SCORING_UNAVAILABLE","when":"Search Console observation, outcome and site context storage are required to score pages.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_SITE_CONTEXT_INCOMPLETE","when":"The SEO site has no domain to score pages for.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","domain"]}},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site was not found for this account.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_PAGE_SCORING_NO_OBSERVATIONS","when":"No Search Console property is linked to this SEO site, so there are no stored page observations to score.","recovery":{"operation":"marketing.seo.performance.observations.import","requiredFields":["siteUrl","fromDate","toDate"]}},{"code":"SEO_PAGE_SCORING_UNAVAILABLE","when":"Search Console observation, outcome and site context storage are required to score pages.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_SITE_CONTEXT_INCOMPLETE","when":"The SEO site has no domain to score pages for.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","domain"]}},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site was not found for this account.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_PAGE_SCORING_NO_OBSERVATIONS","when":"No Search Console property is linked to this SEO site, so there are no stored page observations to score.","recovery":{"operation":"marketing.seo.performance.observations.import","requiredFields":["siteUrl","fromDate","toDate"]}},{"code":"SEO_PAGE_SCORING_UNAVAILABLE","when":"Search Console observation, outcome and site context storage are required to score pages.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_SITE_CONTEXT_INCOMPLETE","when":"The SEO site has no domain to score pages for.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","domain"]}},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site was not found for this account.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_PAGE_SCORING_NO_OBSERVATIONS","when":"No Search Console property is linked to this SEO site, so there are no stored page observations to score.","recovery":{"operation":"marketing.seo.performance.observations.import","requiredFields":["siteUrl","fromDate","toDate"]}},{"code":"SEO_PAGE_SCORING_UNAVAILABLE","when":"Search Console observation, outcome and site context storage are required to score pages.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_SITE_CONTEXT_INCOMPLETE","when":"The SEO site has no domain to score pages for.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","domain"]}},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site was not found for this account.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_PAGE_SCORING_NO_OBSERVATIONS","when":"No Search Console property is linked to this SEO site, so there are no stored page observations to score.","recovery":{"operation":"marketing.seo.performance.observations.import","requiredFields":["siteUrl","fromDate","toDate"]}},{"code":"SEO_PAGE_SCORING_UNAVAILABLE","when":"Search Console observation, outcome and site context storage are required to score pages.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_SITE_CONTEXT_INCOMPLETE","when":"The SEO site has no domain to score pages for.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","domain"]}},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site was not found for this account.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_PAGE_SCORING_NO_OBSERVATIONS","when":"No Search Console property is linked to this SEO site, so there are no stored page observations to score.","recovery":{"operation":"marketing.seo.performance.observations.import","requiredFields":["siteUrl","fromDate","toDate"]}},{"code":"SEO_PAGE_SCORING_UNAVAILABLE","when":"Search Console observation, outcome and site context storage are required to score pages.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_SITE_CONTEXT_INCOMPLETE","when":"The SEO site has no domain to score pages for.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","domain"]}},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site was not found for this account.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_IDEMPOTENCY_CONFLICT","when":"The idempotency key was reused for different opportunity input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_PAGE_SCORING_NO_OBSERVATIONS","when":"No Search Console property is linked to this SEO site, so there are no stored page observations to score.","recovery":{"operation":"marketing.seo.performance.observations.import","requiredFields":["siteUrl","fromDate","toDate"]}},{"code":"SEO_PAGE_SCORING_UNAVAILABLE","when":"Search Console observation, outcome and site context storage are required to score pages.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.generatePages"}}},{"code":"SEO_SITE_CONTEXT_INCOMPLETE","when":"The SEO site has no domain to score pages for.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","domain"]}},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site was not found for this account.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGeneratePagesError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.opportunities.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.opportunities.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.opportunities.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.opportunities.get","description":"Manage durable SEO opportunities and editable plans. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"opportunityId":"12345678-1234-4234-8234-123456789ac1"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789ac1","accountId":"12345678-1234-4234-8234-123456789abc","siteDomain":"example.com","market":null,"kind":"keyword","keyword":"crm software","targetUrl":"https://example.com/crm-software","title":"Improve the CRM software page","rationale":"Explain how growing teams choose CRM software.","uncertainty":null,"priority":50,"prioritySource":"user","pageScore":null,"evidence":[],"sourceResultIds":[],"decision":"unreviewed","decisionRecord":null,"planOrder":0,"revision":1,"linkedWorkId":null,"linkedActionId":null,"linkedTrackedKeywordId":null,"dedupeKey":"keyword:crm-software","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.opportunities.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.opportunities.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.opportunities.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.opportunities.list","description":"Manage durable SEO opportunities and editable plans. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789ac1","accountId":"12345678-1234-4234-8234-123456789abc","siteDomain":"example.com","market":null,"kind":"keyword","keyword":"crm software","targetUrl":"https://example.com/crm-software","title":"Improve the CRM software page","rationale":"Explain how growing teams choose CRM software.","uncertainty":null,"priority":50,"prioritySource":"user","pageScore":null,"evidence":[],"sourceResultIds":[],"decision":"unreviewed","decisionRecord":null,"planOrder":0,"revision":1,"linkedWorkId":null,"linkedActionId":null,"linkedTrackedKeywordId":null,"dedupeKey":"keyword:crm-software","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z"}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.opportunities.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.opportunities.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.opportunities.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.opportunities.update","description":"Manage durable SEO opportunities and editable plans. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"opportunityId":"12345678-1234-4234-8234-123456789ac1","expectedRevision":1,"title":"Improve CRM page","idempotencyKey":"opportunity-update-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789ac1","accountId":"12345678-1234-4234-8234-123456789abc","siteDomain":"example.com","market":null,"kind":"keyword","keyword":"crm software","targetUrl":"https://example.com/crm-software","title":"Improve the CRM software page","rationale":"Explain how growing teams choose CRM software.","uncertainty":null,"priority":50,"prioritySource":"user","pageScore":null,"evidence":[],"sourceResultIds":[],"decision":"unreviewed","decisionRecord":null,"planOrder":0,"revision":1,"linkedWorkId":null,"linkedActionId":null,"linkedTrackedKeywordId":null,"dedupeKey":"keyword:crm-software","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunities.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_CONFLICT","when":"The opportunity changed; refresh and retry.","recovery":{"operation":"marketing.seo.opportunities.get","requiredFields":["opportunityId"]}},{"code":"SEO_OPPORTUNITY_NOT_FOUND","when":"The SEO opportunity was not found.","recovery":{"operation":"marketing.seo.opportunities.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunitiesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.opportunityPlans.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.opportunityPlans.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.opportunityPlans.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.opportunityPlans.update","description":"Manage durable SEO opportunities and editable plans. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"planId":"12345678-1234-4234-8234-123456789ac2","expectedRevision":1,"orderedOpportunityIds":["12345678-1234-4234-8234-123456789ac1"],"idempotencyKey":"opportunity-reorder-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789ac2","accountId":"12345678-1234-4234-8234-123456789abc","siteDomain":"example.com","revision":1,"orderedOpportunityIds":["12345678-1234-4234-8234-123456789ac1"],"updatedAt":"2026-10-13T12:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_PLAN_CONFLICT","when":"Opportunity plan conflict.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_OPPORTUNITY_PLAN_NOT_FOUND","when":"Opportunity plan not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_PLAN_CONFLICT","when":"Opportunity plan conflict.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_OPPORTUNITY_PLAN_NOT_FOUND","when":"Opportunity plan not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_PLAN_CONFLICT","when":"Opportunity plan conflict.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_OPPORTUNITY_PLAN_NOT_FOUND","when":"Opportunity plan not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_PLAN_CONFLICT","when":"Opportunity plan conflict.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_OPPORTUNITY_PLAN_NOT_FOUND","when":"Opportunity plan not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_PLAN_CONFLICT","when":"Opportunity plan conflict.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_OPPORTUNITY_PLAN_NOT_FOUND","when":"Opportunity plan not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_PLAN_CONFLICT","when":"Opportunity plan conflict.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_OPPORTUNITY_PLAN_NOT_FOUND","when":"Opportunity plan not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_PLAN_CONFLICT","when":"Opportunity plan conflict.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_OPPORTUNITY_PLAN_NOT_FOUND","when":"Opportunity plan not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_PLAN_CONFLICT","when":"Opportunity plan conflict.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_OPPORTUNITY_PLAN_NOT_FOUND","when":"Opportunity plan not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_PLAN_CONFLICT","when":"Opportunity plan conflict.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_OPPORTUNITY_PLAN_NOT_FOUND","when":"Opportunity plan not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_OPPORTUNITY_PLAN_CONFLICT","when":"Opportunity plan conflict.","recovery":{"operation":"marketing.seo.opportunities.list"}},{"code":"SEO_OPPORTUNITY_PLAN_NOT_FOUND","when":"Opportunity plan not found.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.opportunityPlans.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOpportunityPlansUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.outcomeEvents.import":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.outcomeEvents.import","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.outcomeEvents.import","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.outcomeEvents.import","description":"Normalizes an injected analytics adapter response and stores provider-scoped events; AI-assistant referral sessions and key events are stored apart from them as aggregates in aiAssistant (null when the source did not read AI-assistant traffic); page views and search clicks never become CRM outcomes. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportInput"},"examples":{"Collect key events":{"summary":"Collect key events","value":{"siteUrl":"https://example.com","fromDate":"2026-09-01","toDate":"2026-09-07"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportOutput"},"examples":{"Collect key events":{"summary":"Collect key events","value":{"records":[],"replayed":false,"aiAssistant":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_OUTCOMES_INGESTION_FAILED","when":"Key events were not stored because the analytics read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_KEY_EVENT_INSTRUMENTATION_UNAVAILABLE","when":"Analytics key events cannot be read: connect Google Analytics for this SEO site context or configure key events on the property, then retry the import.","recovery":{"operation":"marketing.seo.siteContext.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_OUTCOMES_INGESTION_FAILED","when":"Key events were not stored because the analytics read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_KEY_EVENT_INSTRUMENTATION_UNAVAILABLE","when":"Analytics key events cannot be read: connect Google Analytics for this SEO site context or configure key events on the property, then retry the import.","recovery":{"operation":"marketing.seo.siteContext.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_OUTCOMES_INGESTION_FAILED","when":"Key events were not stored because the analytics read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_KEY_EVENT_INSTRUMENTATION_UNAVAILABLE","when":"Analytics key events cannot be read: connect Google Analytics for this SEO site context or configure key events on the property, then retry the import.","recovery":{"operation":"marketing.seo.siteContext.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_OUTCOMES_INGESTION_FAILED","when":"Key events were not stored because the analytics read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_KEY_EVENT_INSTRUMENTATION_UNAVAILABLE","when":"Analytics key events cannot be read: connect Google Analytics for this SEO site context or configure key events on the property, then retry the import.","recovery":{"operation":"marketing.seo.siteContext.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_OUTCOMES_INGESTION_FAILED","when":"Key events were not stored because the analytics read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_KEY_EVENT_INSTRUMENTATION_UNAVAILABLE","when":"Analytics key events cannot be read: connect Google Analytics for this SEO site context or configure key events on the property, then retry the import.","recovery":{"operation":"marketing.seo.siteContext.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_OUTCOMES_INGESTION_FAILED","when":"Key events were not stored because the analytics read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_KEY_EVENT_INSTRUMENTATION_UNAVAILABLE","when":"Analytics key events cannot be read: connect Google Analytics for this SEO site context or configure key events on the property, then retry the import.","recovery":{"operation":"marketing.seo.siteContext.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_OUTCOMES_INGESTION_FAILED","when":"Key events were not stored because the analytics read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_KEY_EVENT_INSTRUMENTATION_UNAVAILABLE","when":"Analytics key events cannot be read: connect Google Analytics for this SEO site context or configure key events on the property, then retry the import.","recovery":{"operation":"marketing.seo.siteContext.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_OUTCOMES_INGESTION_FAILED","when":"Key events were not stored because the analytics read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_KEY_EVENT_INSTRUMENTATION_UNAVAILABLE","when":"Analytics key events cannot be read: connect Google Analytics for this SEO site context or configure key events on the property, then retry the import.","recovery":{"operation":"marketing.seo.siteContext.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_OUTCOMES_INGESTION_FAILED","when":"Key events were not stored because the analytics read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_KEY_EVENT_INSTRUMENTATION_UNAVAILABLE","when":"Analytics key events cannot be read: connect Google Analytics for this SEO site context or configure key events on the property, then retry the import.","recovery":{"operation":"marketing.seo.siteContext.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_OUTCOMES_INGESTION_FAILED","when":"Key events were not stored because the analytics read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomeEvents.import"}}},{"code":"SEO_KEY_EVENT_INSTRUMENTATION_UNAVAILABLE","when":"Analytics key events cannot be read: connect Google Analytics for this SEO site context or configure key events on the property, then retry the import.","recovery":{"operation":"marketing.seo.siteContext.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomeEventsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.outcomes.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.outcomes.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.outcomes.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.outcomes.create","description":"Uses scoped, deduplicated organic-search events and explicit CRM identity evidence. AI-assistant referral sessions and key events are reported separately in aiAssistant and never counted as organic. Missing instrumentation returns null outcome counts, never zero leads from traffic. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateInput"},"examples":{"Build report":{"summary":"Build report","value":{"siteUrl":"https://acme.test","fromDate":"2026-09-01","toDate":"2026-09-07","crmCaptureStatus":"not_measured"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateOutput"},"examples":{"Build report":{"summary":"Build report","value":{"id":"92345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","report":{"status":"not_measured","siteUrl":"https://example.com","landingPageUrl":"https://example.com/crm-software","fromDate":"2026-09-01","toDate":"2026-09-07","attributionModel":"provider_reported","counts":{"organicSearchKeyEvents":0,"leads":null,"bookings":null,"revenueCents":null,"currency":null},"revenueByCurrency":[],"excludedChannels":{"organic_search":0,"paid_search":0,"organic_social":0,"paid_social":0,"direct":0,"referral":0,"email":0,"unknown":0},"coverage":{"status":"not_measured","denominator":"unknown","eligibleOrganicEvents":0,"excludedPaidOrSocialEvents":0,"excludedOtherChannels":0,"crmOutcomesSeen":null,"matchedCrmOutcomes":null,"unmatchedOrganicEvents":null,"matchRatePercent":null,"limitations":["CRM outcome instrumentation is not measured."]},"provenance":[],"disclosure":{"interpretation":"observed_attribution_not_causality","pageViewsAreNotLeads":true,"queryLevelAttributionAvailable":false},"aiAssistant":{"channel":"ai_assistant","coverage":{"status":"not_measured","limitations":["AI-assistant referrals have not been read for this site and date window, so AI-assistant sessions and key events are not measured."]},"sessions":null,"keyEvents":null,"landingPages":[],"sources":[],"provenance":[]}},"idempotencyKey":"outcome-create-1","recordedAt":"2026-10-13T12:00:00.000Z","replayed":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"SEO_OUTCOME_REPORT_FAILED","when":"The SEO outcome report could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"SEO_OUTCOME_REPORT_FAILED","when":"The SEO outcome report could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"SEO_OUTCOME_REPORT_FAILED","when":"The SEO outcome report could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"SEO_OUTCOME_REPORT_FAILED","when":"The SEO outcome report could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"SEO_OUTCOME_REPORT_FAILED","when":"The SEO outcome report could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"SEO_OUTCOME_REPORT_FAILED","when":"The SEO outcome report could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"SEO_OUTCOME_REPORT_FAILED","when":"The SEO outcome report could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"SEO_OUTCOME_REPORT_FAILED","when":"The SEO outcome report could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"SEO_OUTCOME_REPORT_FAILED","when":"The SEO outcome report could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}},{"code":"SEO_OUTCOME_REPORT_FAILED","when":"The SEO outcome report could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.outcomes.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.outcomes.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.outcomes.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.outcomes.list","description":"List stored SEO outcome reports for reload-safe workspace continuity. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"92345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","report":{"status":"not_measured","siteUrl":"https://example.com","landingPageUrl":"https://example.com/crm-software","fromDate":"2026-09-01","toDate":"2026-09-07","attributionModel":"provider_reported","counts":{"organicSearchKeyEvents":0,"leads":null,"bookings":null,"revenueCents":null,"currency":null},"revenueByCurrency":[],"excludedChannels":{"organic_search":0,"paid_search":0,"organic_social":0,"paid_social":0,"direct":0,"referral":0,"email":0,"unknown":0},"coverage":{"status":"not_measured","denominator":"unknown","eligibleOrganicEvents":0,"excludedPaidOrSocialEvents":0,"excludedOtherChannels":0,"crmOutcomesSeen":null,"matchedCrmOutcomes":null,"unmatchedOrganicEvents":null,"matchRatePercent":null,"limitations":["CRM outcome instrumentation is not measured."]},"provenance":[],"disclosure":{"interpretation":"observed_attribution_not_causality","pageViewsAreNotLeads":true,"queryLevelAttributionAvailable":false},"aiAssistant":{"channel":"ai_assistant","coverage":{"status":"not_measured","limitations":["AI-assistant referrals have not been read for this site and date window, so AI-assistant sessions and key events are not measured."]},"sessions":null,"keyEvents":null,"landingPages":[],"sources":[],"provenance":[]}},"recordedAt":"2026-10-13T12:00:00.000Z"}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.outcomes.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoOutcomesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.pages.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.pages.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.pages.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.pages.get","description":"Read one index coverage page. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test","url":"https://acme.test/services"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"https://example.com","url":"https://example.com/services","sources":["sitemap"],"firstSeenAt":"2026-10-13T10:00:00.000Z","lastSeenAt":"2026-10-13T10:00:00.000Z","lastInspectedAt":null,"verdict":"unknown","coverageState":null,"indexingState":null,"robotsTxtState":null,"pageFetchState":null,"googleCanonical":null,"userCanonical":null,"sitemapsReported":[],"referringUrlCount":0,"crawlHttpStatus":null,"crawlNoindex":null,"crawlCanonical":null,"internalLinkCount":0,"impressions90d":0,"clicks90d":0,"lifecycle":"new","recheckAfterAt":null,"recheckCount":0,"submissions":[],"diagnosis":null,"priority":50,"excluded":false,"linkedActionId":null,"revision":1}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.pages.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.pages.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.pages.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.pages.list","description":"List index coverage pages with lifecycle, coverage group, and exclusion filters. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test","limit":20}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"https://example.com","url":"https://example.com/services","sources":["sitemap"],"firstSeenAt":"2026-10-13T10:00:00.000Z","lastSeenAt":"2026-10-13T10:00:00.000Z","lastInspectedAt":null,"verdict":"unknown","coverageState":null,"indexingState":null,"robotsTxtState":null,"pageFetchState":null,"googleCanonical":null,"userCanonical":null,"sitemapsReported":[],"referringUrlCount":0,"crawlHttpStatus":null,"crawlNoindex":null,"crawlCanonical":null,"internalLinkCount":0,"impressions90d":0,"clicks90d":0,"lifecycle":"new","recheckAfterAt":null,"recheckCount":0,"submissions":[],"diagnosis":null,"priority":50,"excluded":false,"linkedActionId":null,"revision":1}],"nextCursor":null,"summary":{"total":1,"indexed":0,"notIndexed":1,"awaitingRecheck":0,"excluded":0}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.pages.reconcileDiagnosis":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.pages.reconcileDiagnosis","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.pages.reconcileDiagnosis","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.pages.reconcileDiagnosis","description":"Recompute the diagnosis for one URL from stored crawl and inspection signals. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test","url":"https://acme.test/services"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"https://example.com","url":"https://example.com/services","sources":["sitemap"],"firstSeenAt":"2026-10-13T10:00:00.000Z","lastSeenAt":"2026-10-13T10:00:00.000Z","lastInspectedAt":null,"verdict":"unknown","coverageState":null,"indexingState":null,"robotsTxtState":null,"pageFetchState":null,"googleCanonical":null,"userCanonical":null,"sitemapsReported":[],"referringUrlCount":0,"crawlHttpStatus":null,"crawlNoindex":null,"crawlCanonical":null,"internalLinkCount":0,"impressions90d":0,"clicks90d":0,"lifecycle":"new","recheckAfterAt":null,"recheckCount":0,"submissions":[],"diagnosis":{},"priority":50,"excluded":false,"linkedActionId":null,"revision":1}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.reconcileDiagnosis"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesReconcileDiagnosisError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.pages.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.pages.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.pages.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.pages.update","description":"Exclude or include a URL from index coverage automation. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"https://acme.test","url":"https://acme.test/services","excluded":false}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"https://example.com","url":"https://example.com/services","sources":["sitemap"],"firstSeenAt":"2026-10-13T10:00:00.000Z","lastSeenAt":"2026-10-13T10:00:00.000Z","lastInspectedAt":null,"verdict":"unknown","coverageState":null,"indexingState":null,"robotsTxtState":null,"pageFetchState":null,"googleCanonical":null,"userCanonical":null,"sitemapsReported":[],"referringUrlCount":0,"crawlHttpStatus":null,"crawlNoindex":null,"crawlCanonical":null,"internalLinkCount":0,"impressions90d":0,"clicks90d":0,"lifecycle":"excluded","recheckAfterAt":null,"recheckCount":0,"submissions":[],"diagnosis":null,"priority":50,"excluded":true,"linkedActionId":null,"revision":1}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}},{"code":"SEO_PAGE_INVALID_TRANSITION","when":"Stored lifecycle facts cannot admit the requested change.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}},{"code":"SEO_PAGE_INVALID_TRANSITION","when":"Stored lifecycle facts cannot admit the requested change.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}},{"code":"SEO_PAGE_INVALID_TRANSITION","when":"Stored lifecycle facts cannot admit the requested change.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}},{"code":"SEO_PAGE_INVALID_TRANSITION","when":"Stored lifecycle facts cannot admit the requested change.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}},{"code":"SEO_PAGE_INVALID_TRANSITION","when":"Stored lifecycle facts cannot admit the requested change.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}},{"code":"SEO_PAGE_INVALID_TRANSITION","when":"Stored lifecycle facts cannot admit the requested change.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}},{"code":"SEO_PAGE_INVALID_TRANSITION","when":"Stored lifecycle facts cannot admit the requested change.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}},{"code":"SEO_PAGE_INVALID_TRANSITION","when":"Stored lifecycle facts cannot admit the requested change.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}},{"code":"SEO_PAGE_INVALID_TRANSITION","when":"Stored lifecycle facts cannot admit the requested change.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pages.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_NOT_FOUND","when":"The page does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.pages.list","requiredFields":["siteUrl"]}},{"code":"SEO_PAGE_REVISION_CONFLICT","when":"The page changed during the write.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}},{"code":"SEO_PAGE_INVALID_TRANSITION","when":"Stored lifecycle facts cannot admit the requested change.","recovery":{"operation":"marketing.seo.pages.get","requiredFields":["siteUrl","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPagesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.pageSpeedChecks.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.pageSpeedChecks.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.pageSpeedChecks.create","x-moreflow-agent":{"effect":"external_communication","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"marketing.seo.pageSpeedChecks.create","description":"Post bounded Lighthouse page speed tasks for pages and devices; collect them later. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteDomain":"example.com","urls":["https://example.com/"],"devices":["mobile"],"idempotencyKey":"page-speed-check-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","siteDomain":"example.com","status":"queued","requestedAt":"2026-10-13T10:00:00.000Z","completedAt":null,"auditId":null,"results":[{"id":"12345678-1234-4234-8234-123456789abd","runId":"12345678-1234-4234-8234-123456789abd","siteDomain":"example.com","url":"https://example.com","device":"mobile","status":"queued","taskId":"lighthouse-task-example","metrics":null,"costCents":1,"costMicroCents":5000,"currency":"USD","requestedAt":"2026-10-13T10:00:00.000Z","measuredAt":null,"error":null}],"costCents":1,"costMicroCents":5000,"currency":"USD","complete":false,"replay":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_PROVIDER_UNAVAILABLE","when":"The provider refused the task post; retry with a fresh estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_RUN_FAILED","when":"A replayed run never had a provider task accepted.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the bounded provider charge.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_PROVIDER_UNAVAILABLE","when":"The provider refused the task post; retry with a fresh estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_RUN_FAILED","when":"A replayed run never had a provider task accepted.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the bounded provider charge.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_PROVIDER_UNAVAILABLE","when":"The provider refused the task post; retry with a fresh estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_RUN_FAILED","when":"A replayed run never had a provider task accepted.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the bounded provider charge.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_PROVIDER_UNAVAILABLE","when":"The provider refused the task post; retry with a fresh estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_RUN_FAILED","when":"A replayed run never had a provider task accepted.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the bounded provider charge.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_PROVIDER_UNAVAILABLE","when":"The provider refused the task post; retry with a fresh estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_RUN_FAILED","when":"A replayed run never had a provider task accepted.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the bounded provider charge.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_PROVIDER_UNAVAILABLE","when":"The provider refused the task post; retry with a fresh estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_RUN_FAILED","when":"A replayed run never had a provider task accepted.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the bounded provider charge.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_PROVIDER_UNAVAILABLE","when":"The provider refused the task post; retry with a fresh estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_RUN_FAILED","when":"A replayed run never had a provider task accepted.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the bounded provider charge.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_PROVIDER_UNAVAILABLE","when":"The provider refused the task post; retry with a fresh estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_RUN_FAILED","when":"A replayed run never had a provider task accepted.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the bounded provider charge.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_PROVIDER_UNAVAILABLE","when":"The provider refused the task post; retry with a fresh estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_RUN_FAILED","when":"A replayed run never had a provider task accepted.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the bounded provider charge.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_PROVIDER_UNAVAILABLE","when":"The provider refused the task post; retry with a fresh estimate.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.create"}}},{"code":"SEO_PAGE_SPEED_RUN_FAILED","when":"A replayed run never had a provider task accepted.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}},{"code":"AI_QUOTA_EXCEEDED","when":"The account cannot reserve the bounded provider charge.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.pageSpeedChecks.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.pageSpeedChecks.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.pageSpeedChecks.update","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.pageSpeedChecks.update","description":"Collect finished page speed tasks; when every task is done, record the findings as an audit report. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"runId":"12345678-1234-4234-8234-123456789abd"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","siteDomain":"example.com","status":"queued","requestedAt":"2026-10-13T10:00:00.000Z","completedAt":null,"auditId":null,"results":[{"id":"12345678-1234-4234-8234-123456789abd","runId":"12345678-1234-4234-8234-123456789abd","siteDomain":"example.com","url":"https://example.com","device":"mobile","status":"queued","taskId":"lighthouse-task-example","metrics":null,"costCents":1,"costMicroCents":5000,"currency":"USD","requestedAt":"2026-10-13T10:00:00.000Z","measuredAt":null,"error":null}],"costCents":1,"costMicroCents":5000,"currency":"USD","complete":false,"replay":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_RUN_NOT_FOUND","when":"The run does not exist in the credential tenant.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedChecks.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedChecksUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.pageSpeedEstimates.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.pageSpeedEstimates.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.pageSpeedEstimates.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.pageSpeedEstimates.get","description":"Estimate the cost of a page speed check before any provider task is posted. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteDomain":"example.com","urls":["https://example.com/"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"example.com","pageCount":1,"deviceCount":1,"taskCount":1,"estimatedCostCents":1,"estimatedCostMicroCents":5000,"currency":"USD","estimatedChargeCents":2,"chargeCurrency":"EUR","estimatedChargeMicroEuros":15000,"ceilingCents":1,"pages":["https://example.com"]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.pageSpeedEstimates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PAGE_SPEED_URL_OUTSIDE_SITE","when":"A supplied URL is not an HTTP page on the requested site.","recovery":{"operation":"marketing.seo.pageSpeedEstimates.get","requiredFields":["siteDomain"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedEstimatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.pageSpeedResults.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.pageSpeedResults.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.pageSpeedResults.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.pageSpeedResults.list","description":"List page speed lab results, newest first, optionally for one URL to compare over time. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abd","runId":"12345678-1234-4234-8234-123456789abd","siteDomain":"example.com","url":"https://example.com","device":"mobile","status":"queued","taskId":"lighthouse-task-example","metrics":null,"costCents":1,"costMicroCents":5000,"currency":"USD","requestedAt":"2026-10-13T10:00:00.000Z","measuredAt":null,"error":null}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPageSpeedResultsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.performance.comparisons.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.performance.comparisons.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.performance.comparisons.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.performance.comparisons.create","description":"Uses stored observations and preserves measured, partial, stale, unknown, and not-ready states; differences are descriptive and not causal proof. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"sc-domain:acme.test","scopeKey":"page:seo","baselinePeriod":{"fromDate":"2026-08-24","toDate":"2026-08-30"},"currentPeriod":{"fromDate":"2026-09-01","toDate":"2026-09-07"},"publication":{"state":"live","canonicalUrl":"https://acme.test/seo","evidenceId":"live-1","sourceOperationId":"marketing.seo.publications.get","verifiedAt":"2026-09-01T00:00:00Z","disclosure":"verified"}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"82345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"sc-domain:example.com","scopeKey":"page:https://example.com/crm-software","baselinePeriod":{"fromDate":"2026-08-24","toDate":"2026-08-30"},"currentPeriod":{"fromDate":"2026-09-01","toDate":"2026-09-07"},"comparison":{"status":"measured","reason":"ready","siteUrl":"sc-domain:example.com","scopeKey":"page:https://example.com/crm-software","baseline":{"period":{"fromDate":"2026-08-24","toDate":"2026-08-30"},"aggregate":{"observed":true,"metrics":{"clicks":5,"impressions":100,"ctr":0.05,"position":8},"rowCount":1,"coverage":{"status":"complete","observedRows":1,"expectedRows":1,"denominator":"provider_rows","disclosure":"One complete Search Console page row was stored."},"freshness":{"state":"fresh","collectedAt":"2026-10-13T12:00:00.000Z","maxAgeHours":72},"provenance":[{"sourceOperationId":"marketing.seo.performance.observations.import","sourceResultId":"62345678-1234-4234-8234-123456789abd"}]}},"current":{"period":{"fromDate":"2026-09-01","toDate":"2026-09-07"},"aggregate":{"observed":true,"metrics":{"clicks":5,"impressions":100,"ctr":0.05,"position":8},"rowCount":1,"coverage":{"status":"complete","observedRows":1,"expectedRows":1,"denominator":"provider_rows","disclosure":"One complete Search Console page row was stored."},"freshness":{"state":"fresh","collectedAt":"2026-10-13T12:00:00.000Z","maxAgeHours":72},"provenance":[{"sourceOperationId":"marketing.seo.performance.observations.import","sourceResultId":"62345678-1234-4234-8234-123456789abd"}]}},"changes":{"clicks":0,"impressions":0,"ctr":0,"position":0},"publication":{"state":"live","canonicalUrl":"https://example.com/crm-software","evidenceId":"12345678-1234-4234-8234-123456789ac4","sourceOperationId":"marketing.seo.publications.verify","verifiedAt":"2026-09-01T00:00:00.000Z","disclosure":"The canonical page and exact deployment were verified."},"disclosure":{"interpretation":"descriptive_comparison_not_causality","equivalentPeriods":true,"freshness":"Freshness is based on collection time.","coverage":"Both periods contain complete provider rows."}},"idempotencyKey":"comparison-create-1","recordedAt":"2026-10-13T12:00:00.000Z","replayed":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"SEO_PERFORMANCE_COMPARISON_FAILED","when":"The comparison could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"SEO_PERFORMANCE_COMPARISON_FAILED","when":"The comparison could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"SEO_PERFORMANCE_COMPARISON_FAILED","when":"The comparison could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"SEO_PERFORMANCE_COMPARISON_FAILED","when":"The comparison could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"SEO_PERFORMANCE_COMPARISON_FAILED","when":"The comparison could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"SEO_PERFORMANCE_COMPARISON_FAILED","when":"The comparison could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"SEO_PERFORMANCE_COMPARISON_FAILED","when":"The comparison could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"SEO_PERFORMANCE_COMPARISON_FAILED","when":"The comparison could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"SEO_PERFORMANCE_COMPARISON_FAILED","when":"The comparison could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}},{"code":"SEO_PERFORMANCE_COMPARISON_FAILED","when":"The comparison could not be persisted.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.comparisons.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceComparisonsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.performance.observations.import":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.performance.observations.import","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.performance.observations.import","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.performance.observations.import","description":"Reads an injected Search Console adapter and stores normalized rows. Provider failures write nothing and repeated idempotency keys replay the same batch. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"sc-domain:acme.test","fromDate":"2026-09-01","toDate":"2026-09-07","dimensions":["page"],"searchType":"web"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"records":[{"id":"72345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"sc-domain:example.com","searchType":"web","dimensions":["page"],"scope":{"page":"https://example.com/crm-software"},"scopeKey":"page:https://example.com/crm-software","fromDate":"2026-09-01","toDate":"2026-09-07","metrics":{"clicks":5,"impressions":100,"ctr":0.05,"position":8},"coverage":{"status":"complete","observedRows":1,"expectedRows":1,"denominator":"provider_rows","disclosure":"One complete Search Console page row was stored."},"freshness":{"state":"fresh","collectedAt":"2026-10-13T12:00:00.000Z","maxAgeHours":72},"provenance":{"provider":"google_search_console","sourceOperationId":"marketing.seo.performance.observations.import","sourceResultId":"62345678-1234-4234-8234-123456789abd","propertyUrl":"sc-domain:example.com","collectedAt":"2026-10-13T12:00:00.000Z","requestFingerprint":null,"providerRequestId":null},"recordedAt":"2026-10-13T12:00:00.000Z"}],"replayed":false}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"SEO_PERFORMANCE_INGESTION_FAILED","when":"Search Console observations were not stored because the provider read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"SEO_PERFORMANCE_INGESTION_FAILED","when":"Search Console observations were not stored because the provider read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"SEO_PERFORMANCE_INGESTION_FAILED","when":"Search Console observations were not stored because the provider read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"SEO_PERFORMANCE_INGESTION_FAILED","when":"Search Console observations were not stored because the provider read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"SEO_PERFORMANCE_INGESTION_FAILED","when":"Search Console observations were not stored because the provider read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"SEO_PERFORMANCE_INGESTION_FAILED","when":"Search Console observations were not stored because the provider read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"SEO_PERFORMANCE_INGESTION_FAILED","when":"Search Console observations were not stored because the provider read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"SEO_PERFORMANCE_INGESTION_FAILED","when":"Search Console observations were not stored because the provider read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"SEO_PERFORMANCE_INGESTION_FAILED","when":"Search Console observations were not stored because the provider read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_KEY_REQUIRED","when":"The request has no Idempotency-Key header; resend it with one.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}},{"code":"SEO_PERFORMANCE_INGESTION_FAILED","when":"Search Console observations were not stored because the provider read failed.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.performance.observations.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.performance.observations.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.performance.observations.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.performance.observations.list","description":"Read tenant-scoped normalized Search Console observations. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteUrl":"sc-domain:acme.test"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"72345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","siteUrl":"sc-domain:example.com","searchType":"web","dimensions":["page"],"scope":{"page":"https://example.com/crm-software"},"scopeKey":"page:https://example.com/crm-software","fromDate":"2026-09-01","toDate":"2026-09-07","metrics":{"clicks":5,"impressions":100,"ctr":0.05,"position":8},"coverage":{"status":"complete","observedRows":1,"expectedRows":1,"denominator":"provider_rows","disclosure":"One complete Search Console page row was stored."},"freshness":{"state":"fresh","collectedAt":"2026-10-13T12:00:00.000Z","maxAgeHours":72},"provenance":{"provider":"google_search_console","sourceOperationId":"marketing.seo.performance.observations.import","sourceResultId":"62345678-1234-4234-8234-123456789abd","propertyUrl":"sc-domain:example.com","collectedAt":"2026-10-13T12:00:00.000Z","requestFingerprint":null,"providerRequestId":null},"recordedAt":"2026-10-13T12:00:00.000Z"}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.performance.observations.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPerformanceObservationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.plans.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.plans.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.plans.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.plans.get","description":"Read a specific SEO plan. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"planId":"seo-plan-1"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","siteId":"12345678-1234-4234-8234-123456789abd","evidenceDigest":"seo-evidence-2026-10-13","evidenceSummary":{"digest":"seo-evidence-2026-10-13","truncated":false,"sourceCounts":{"pages":1}},"mode":"approve_first","status":"draft","proposals":[],"accepted":[],"rejected":[],"actionIds":[],"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastRunAt":null,"error":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.plans.latest.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.plans.latest.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.plans.latest.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.plans.latest.get","description":"Read the latest SEO plan for a site. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteId":"seo-site-1"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","siteId":"12345678-1234-4234-8234-123456789abd","evidenceDigest":"seo-evidence-2026-10-13","evidenceSummary":{"digest":"seo-evidence-2026-10-13","truncated":false,"sourceCounts":{"pages":1}},"mode":"approve_first","status":"draft","proposals":[],"accepted":[],"rejected":[],"actionIds":[],"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastRunAt":null,"error":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.latest.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansLatestGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.plans.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.plans.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.plans.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.plans.list","description":"List recent SEO plans. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"limit":20}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abd","siteId":"12345678-1234-4234-8234-123456789abd","evidenceDigest":"seo-evidence-2026-10-13","evidenceSummary":{"digest":"seo-evidence-2026-10-13","truncated":false,"sourceCounts":{"pages":1}},"mode":"approve_first","status":"draft","proposals":[],"accepted":[],"rejected":[],"actionIds":[],"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastRunAt":null,"error":null}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.plans.propose":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.plans.propose","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.plans.propose","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.plans.propose","description":"Propose a typed, site-specific SEO action plan from bounded evidence. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"siteId":"seo-site-1","idempotencyKey":"seo-plan-proposal-2026"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","siteId":"12345678-1234-4234-8234-123456789abd","evidenceDigest":"seo-evidence-2026-10-13","evidenceSummary":{"digest":"seo-evidence-2026-10-13","truncated":false,"sourceCounts":{"pages":1}},"mode":"approve_first","status":"draft","proposals":[],"accepted":[],"rejected":[],"actionIds":[],"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastRunAt":null,"error":null,"evidence":{"digest":"seo-evidence-2026-10-13","truncated":false}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_SPONSOR_REQUIRED","when":"No active owner or administrator can sponsor the proposed work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_UNAVAILABLE","when":"AI planning is not configured; retry when the provider is available.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account has insufficient planning allowance.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_PLANNER_FAILED","when":"The AI provider returned no valid result; retry this proposal.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_INVALID_OUTPUT","when":"The AI output does not satisfy the typed proposal contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLAN_IDEMPOTENCY_CONFLICT","when":"The key was used with different plan input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_SPONSOR_REQUIRED","when":"No active owner or administrator can sponsor the proposed work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_UNAVAILABLE","when":"AI planning is not configured; retry when the provider is available.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account has insufficient planning allowance.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_PLANNER_FAILED","when":"The AI provider returned no valid result; retry this proposal.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_INVALID_OUTPUT","when":"The AI output does not satisfy the typed proposal contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLAN_IDEMPOTENCY_CONFLICT","when":"The key was used with different plan input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_SPONSOR_REQUIRED","when":"No active owner or administrator can sponsor the proposed work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_UNAVAILABLE","when":"AI planning is not configured; retry when the provider is available.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account has insufficient planning allowance.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_PLANNER_FAILED","when":"The AI provider returned no valid result; retry this proposal.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_INVALID_OUTPUT","when":"The AI output does not satisfy the typed proposal contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLAN_IDEMPOTENCY_CONFLICT","when":"The key was used with different plan input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_SPONSOR_REQUIRED","when":"No active owner or administrator can sponsor the proposed work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_UNAVAILABLE","when":"AI planning is not configured; retry when the provider is available.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account has insufficient planning allowance.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_PLANNER_FAILED","when":"The AI provider returned no valid result; retry this proposal.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_INVALID_OUTPUT","when":"The AI output does not satisfy the typed proposal contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLAN_IDEMPOTENCY_CONFLICT","when":"The key was used with different plan input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_SPONSOR_REQUIRED","when":"No active owner or administrator can sponsor the proposed work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_UNAVAILABLE","when":"AI planning is not configured; retry when the provider is available.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account has insufficient planning allowance.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_PLANNER_FAILED","when":"The AI provider returned no valid result; retry this proposal.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_INVALID_OUTPUT","when":"The AI output does not satisfy the typed proposal contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLAN_IDEMPOTENCY_CONFLICT","when":"The key was used with different plan input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_SPONSOR_REQUIRED","when":"No active owner or administrator can sponsor the proposed work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_UNAVAILABLE","when":"AI planning is not configured; retry when the provider is available.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account has insufficient planning allowance.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_PLANNER_FAILED","when":"The AI provider returned no valid result; retry this proposal.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_INVALID_OUTPUT","when":"The AI output does not satisfy the typed proposal contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLAN_IDEMPOTENCY_CONFLICT","when":"The key was used with different plan input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_SPONSOR_REQUIRED","when":"No active owner or administrator can sponsor the proposed work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_UNAVAILABLE","when":"AI planning is not configured; retry when the provider is available.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account has insufficient planning allowance.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_PLANNER_FAILED","when":"The AI provider returned no valid result; retry this proposal.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_INVALID_OUTPUT","when":"The AI output does not satisfy the typed proposal contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLAN_IDEMPOTENCY_CONFLICT","when":"The key was used with different plan input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_SPONSOR_REQUIRED","when":"No active owner or administrator can sponsor the proposed work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_UNAVAILABLE","when":"AI planning is not configured; retry when the provider is available.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account has insufficient planning allowance.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_PLANNER_FAILED","when":"The AI provider returned no valid result; retry this proposal.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_INVALID_OUTPUT","when":"The AI output does not satisfy the typed proposal contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLAN_IDEMPOTENCY_CONFLICT","when":"The key was used with different plan input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_SPONSOR_REQUIRED","when":"No active owner or administrator can sponsor the proposed work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_UNAVAILABLE","when":"AI planning is not configured; retry when the provider is available.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account has insufficient planning allowance.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_PLANNER_FAILED","when":"The AI provider returned no valid result; retry this proposal.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_INVALID_OUTPUT","when":"The AI output does not satisfy the typed proposal contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLAN_IDEMPOTENCY_CONFLICT","when":"The key was used with different plan input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_SPONSOR_REQUIRED","when":"No active owner or administrator can sponsor the proposed work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_UNAVAILABLE","when":"AI planning is not configured; retry when the provider is available.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account has insufficient planning allowance.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_PLANNER_FAILED","when":"The AI provider returned no valid result; retry this proposal.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLANNER_INVALID_OUTPUT","when":"The AI output does not satisfy the typed proposal contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}},{"code":"SEO_PLAN_IDEMPOTENCY_CONFLICT","when":"The key was used with different plan input.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.plans.run":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.plans.run","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.plans.run","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.plans.run","description":"Start eligible actions from an SEO plan. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"planId":"seo-plan-1","idempotencyKey":"seo-plan-run-2026"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","siteId":"12345678-1234-4234-8234-123456789abd","evidenceDigest":"seo-evidence-2026-10-13","evidenceSummary":{"digest":"seo-evidence-2026-10-13","truncated":false,"sourceCounts":{"pages":1}},"mode":"approve_first","status":"running","proposals":[],"accepted":[],"rejected":[],"actionIds":[],"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastRunAt":null,"error":null,"started":[],"skipped":[]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}},{"code":"SEO_PLAN_CONFLICT","when":"The plan changed during queue admission.","recovery":{"operation":"marketing.seo.plans.get","requiredFields":["planId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}},{"code":"SEO_PLAN_CONFLICT","when":"The plan changed during queue admission.","recovery":{"operation":"marketing.seo.plans.get","requiredFields":["planId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}},{"code":"SEO_PLAN_CONFLICT","when":"The plan changed during queue admission.","recovery":{"operation":"marketing.seo.plans.get","requiredFields":["planId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}},{"code":"SEO_PLAN_CONFLICT","when":"The plan changed during queue admission.","recovery":{"operation":"marketing.seo.plans.get","requiredFields":["planId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}},{"code":"SEO_PLAN_CONFLICT","when":"The plan changed during queue admission.","recovery":{"operation":"marketing.seo.plans.get","requiredFields":["planId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}},{"code":"SEO_PLAN_CONFLICT","when":"The plan changed during queue admission.","recovery":{"operation":"marketing.seo.plans.get","requiredFields":["planId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}},{"code":"SEO_PLAN_CONFLICT","when":"The plan changed during queue admission.","recovery":{"operation":"marketing.seo.plans.get","requiredFields":["planId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}},{"code":"SEO_PLAN_CONFLICT","when":"The plan changed during queue admission.","recovery":{"operation":"marketing.seo.plans.get","requiredFields":["planId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}},{"code":"SEO_PLAN_CONFLICT","when":"The plan changed during queue admission.","recovery":{"operation":"marketing.seo.plans.get","requiredFields":["planId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.plans.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PLAN_NOT_FOUND","when":"No matching saved plan exists.","recovery":{"operation":"marketing.seo.plans.propose","requiredFields":["siteId","idempotencyKey"]}},{"code":"SEO_PLAN_CONFLICT","when":"The plan changed during queue admission.","recovery":{"operation":"marketing.seo.plans.get","requiredFields":["planId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPlansRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.publications.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.publications.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.publications.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.publications.create","description":"Link one exact article revision and prepared change to a publication receipt. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"targetId":"12345678-1234-4234-8234-123456789ac3","idempotencyKey":"publication-create-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789ac4","accountId":"12345678-1234-4234-8234-123456789abc","articleId":"12345678-1234-4234-8234-123456789abe","articleRevisionId":"42345678-1234-4234-8234-123456789abd","targetId":"12345678-1234-4234-8234-123456789ac3","repositoryChangeId":"32345678-1234-4234-8234-123456789abd","status":"prepared","source":"repository_provider","commitSha":null,"liveUrl":null,"deploymentId":null,"lastEventId":null,"lastEventAt":null,"failureReason":null,"userReported":false,"idempotencyKey":"publication-create-1","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z","verification":null,"stateTimestamps":null,"liveCheck":null,"validation":null,"rollback":null,"nextAction":{"operation":"marketing.seo.publications.reconcile","reason":"Obtain approval or a human merge handoff."}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.publications.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.publications.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.publications.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.publications.get","description":"Read publication state without treating a PR or preview as live. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"publicationId":"12345678-1234-4234-8234-123456789ac4"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789ac4","accountId":"12345678-1234-4234-8234-123456789abc","articleId":"12345678-1234-4234-8234-123456789abe","articleRevisionId":"42345678-1234-4234-8234-123456789abd","targetId":"12345678-1234-4234-8234-123456789ac3","repositoryChangeId":"32345678-1234-4234-8234-123456789abd","status":"prepared","source":"repository_provider","commitSha":null,"liveUrl":null,"deploymentId":null,"lastEventId":null,"lastEventAt":null,"failureReason":null,"userReported":false,"idempotencyKey":"publication-create-1","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z","verification":null,"stateTimestamps":null,"liveCheck":null,"validation":null,"rollback":null,"nextAction":{"operation":"marketing.seo.publications.reconcile","reason":"Obtain approval or a human merge handoff."}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.publications.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.publications.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.publications.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.publications.list","description":"List tenant-scoped publication receipts for workspace continuity. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789ac4","accountId":"12345678-1234-4234-8234-123456789abc","articleId":"12345678-1234-4234-8234-123456789abe","articleRevisionId":"42345678-1234-4234-8234-123456789abd","targetId":"12345678-1234-4234-8234-123456789ac3","repositoryChangeId":"32345678-1234-4234-8234-123456789abd","status":"prepared","source":"repository_provider","commitSha":null,"liveUrl":null,"deploymentId":null,"lastEventId":null,"lastEventAt":null,"failureReason":null,"userReported":false,"idempotencyKey":"publication-create-1","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z","verification":null,"stateTimestamps":null,"liveCheck":null,"validation":null,"rollback":null}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed; omit it to restart pagination.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.publications.reconcile":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.publications.reconcile","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.publications.reconcile","x-moreflow-agent":{"effect":"external_communication","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"marketing.seo.publications.reconcile","description":"Apply signed provider evidence or clearly user-reported external publication monotonically. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"publicationId":"12345678-1234-4234-8234-123456789ac4","eventId":"publication-event-1","status":"external","source":"user_reported","occurredAt":"2026-09-10T10:00:00.000Z"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789ac4","accountId":"12345678-1234-4234-8234-123456789abc","articleId":"12345678-1234-4234-8234-123456789abe","articleRevisionId":"42345678-1234-4234-8234-123456789abd","targetId":"12345678-1234-4234-8234-123456789ac3","repositoryChangeId":"32345678-1234-4234-8234-123456789abd","status":"prepared","source":"repository_provider","commitSha":null,"liveUrl":null,"deploymentId":null,"lastEventId":null,"lastEventAt":null,"failureReason":null,"userReported":false,"idempotencyKey":"publication-create-1","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z","verification":null,"stateTimestamps":null,"liveCheck":null,"validation":null,"rollback":null,"nextAction":{"operation":"marketing.seo.publications.reconcile","reason":"Obtain approval or a human merge handoff."},"applied":true,"reconciliation":"applied"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_VERIFICATION_REQUIRED","when":"Verify the exact deployment and canonical live page through marketing.seo.publications.verify.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_SIGNATURE_INVALID","when":"The provider event signature is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_SIGNATURE_REQUIRED","when":"Provider events require a signature.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_STATE_DERIVED","when":"deploy_not_seen and rolled_back are derived by Moreflow from live checks and merged reverts.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_VERIFICATION_REQUIRED","when":"Verify the exact deployment and canonical live page through marketing.seo.publications.verify.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_SIGNATURE_INVALID","when":"The provider event signature is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_SIGNATURE_REQUIRED","when":"Provider events require a signature.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_STATE_DERIVED","when":"deploy_not_seen and rolled_back are derived by Moreflow from live checks and merged reverts.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_VERIFICATION_REQUIRED","when":"Verify the exact deployment and canonical live page through marketing.seo.publications.verify.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_SIGNATURE_INVALID","when":"The provider event signature is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_SIGNATURE_REQUIRED","when":"Provider events require a signature.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_STATE_DERIVED","when":"deploy_not_seen and rolled_back are derived by Moreflow from live checks and merged reverts.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_VERIFICATION_REQUIRED","when":"Verify the exact deployment and canonical live page through marketing.seo.publications.verify.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_SIGNATURE_INVALID","when":"The provider event signature is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_SIGNATURE_REQUIRED","when":"Provider events require a signature.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_STATE_DERIVED","when":"deploy_not_seen and rolled_back are derived by Moreflow from live checks and merged reverts.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_VERIFICATION_REQUIRED","when":"Verify the exact deployment and canonical live page through marketing.seo.publications.verify.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_SIGNATURE_INVALID","when":"The provider event signature is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_SIGNATURE_REQUIRED","when":"Provider events require a signature.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_STATE_DERIVED","when":"deploy_not_seen and rolled_back are derived by Moreflow from live checks and merged reverts.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_VERIFICATION_REQUIRED","when":"Verify the exact deployment and canonical live page through marketing.seo.publications.verify.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_SIGNATURE_INVALID","when":"The provider event signature is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_SIGNATURE_REQUIRED","when":"Provider events require a signature.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_STATE_DERIVED","when":"deploy_not_seen and rolled_back are derived by Moreflow from live checks and merged reverts.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_VERIFICATION_REQUIRED","when":"Verify the exact deployment and canonical live page through marketing.seo.publications.verify.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_SIGNATURE_INVALID","when":"The provider event signature is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_SIGNATURE_REQUIRED","when":"Provider events require a signature.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_STATE_DERIVED","when":"deploy_not_seen and rolled_back are derived by Moreflow from live checks and merged reverts.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_VERIFICATION_REQUIRED","when":"Verify the exact deployment and canonical live page through marketing.seo.publications.verify.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_SIGNATURE_INVALID","when":"The provider event signature is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_SIGNATURE_REQUIRED","when":"Provider events require a signature.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_STATE_DERIVED","when":"deploy_not_seen and rolled_back are derived by Moreflow from live checks and merged reverts.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_VERIFICATION_REQUIRED","when":"Verify the exact deployment and canonical live page through marketing.seo.publications.verify.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_SIGNATURE_INVALID","when":"The provider event signature is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_SIGNATURE_REQUIRED","when":"Provider events require a signature.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_STATE_DERIVED","when":"deploy_not_seen and rolled_back are derived by Moreflow from live checks and merged reverts.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_LIVE_VERIFICATION_REQUIRED","when":"Verify the exact deployment and canonical live page through marketing.seo.publications.verify.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_SIGNATURE_INVALID","when":"The provider event signature is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_SIGNATURE_REQUIRED","when":"Provider events require a signature.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.reconcile"}}},{"code":"SEO_PUBLICATION_STATE_DERIVED","when":"deploy_not_seen and rolled_back are derived by Moreflow from live checks and merged reverts.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.publications.verify":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.publications.verify","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.publications.verify","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.publications.verify","description":"Fetch provider-owned deployment evidence and the canonical page before recording live state. Pending deployment and stale caches remain retryable. Repeated verification uses the same deployment/commit event identity and returns an existing live receipt unchanged. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyInput"},"examples":{"Verify publication":{"summary":"Verify publication","value":{"publicationId":"publication-example"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_DEPLOYMENT_EVIDENCE_UNAVAILABLE","when":"Configure a supported production deployment evidence adapter.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"SEO_PUBLICATION_DEPLOY_NOT_SEEN","when":"The change is on the default branch, but the public page does not show it yet. Check that the website deployment runs, then verify again.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_NOT_LIVE","when":"Publication not live.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_REVISION_MISMATCH","when":"The deployment must prove the exact approved article revision or reviewed code change linked to this publication.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_DEPLOYMENT_EVIDENCE_UNAVAILABLE","when":"Configure a supported production deployment evidence adapter.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"SEO_PUBLICATION_DEPLOY_NOT_SEEN","when":"The change is on the default branch, but the public page does not show it yet. Check that the website deployment runs, then verify again.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_NOT_LIVE","when":"Publication not live.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_REVISION_MISMATCH","when":"The deployment must prove the exact approved article revision or reviewed code change linked to this publication.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_DEPLOYMENT_EVIDENCE_UNAVAILABLE","when":"Configure a supported production deployment evidence adapter.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"SEO_PUBLICATION_DEPLOY_NOT_SEEN","when":"The change is on the default branch, but the public page does not show it yet. Check that the website deployment runs, then verify again.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_NOT_LIVE","when":"Publication not live.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_REVISION_MISMATCH","when":"The deployment must prove the exact approved article revision or reviewed code change linked to this publication.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_DEPLOYMENT_EVIDENCE_UNAVAILABLE","when":"Configure a supported production deployment evidence adapter.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"SEO_PUBLICATION_DEPLOY_NOT_SEEN","when":"The change is on the default branch, but the public page does not show it yet. Check that the website deployment runs, then verify again.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_NOT_LIVE","when":"Publication not live.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_REVISION_MISMATCH","when":"The deployment must prove the exact approved article revision or reviewed code change linked to this publication.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_DEPLOYMENT_EVIDENCE_UNAVAILABLE","when":"Configure a supported production deployment evidence adapter.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"SEO_PUBLICATION_DEPLOY_NOT_SEEN","when":"The change is on the default branch, but the public page does not show it yet. Check that the website deployment runs, then verify again.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_NOT_LIVE","when":"Publication not live.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_REVISION_MISMATCH","when":"The deployment must prove the exact approved article revision or reviewed code change linked to this publication.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_DEPLOYMENT_EVIDENCE_UNAVAILABLE","when":"Configure a supported production deployment evidence adapter.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"SEO_PUBLICATION_DEPLOY_NOT_SEEN","when":"The change is on the default branch, but the public page does not show it yet. Check that the website deployment runs, then verify again.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_NOT_LIVE","when":"Publication not live.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_REVISION_MISMATCH","when":"The deployment must prove the exact approved article revision or reviewed code change linked to this publication.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_DEPLOYMENT_EVIDENCE_UNAVAILABLE","when":"Configure a supported production deployment evidence adapter.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"SEO_PUBLICATION_DEPLOY_NOT_SEEN","when":"The change is on the default branch, but the public page does not show it yet. Check that the website deployment runs, then verify again.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_NOT_LIVE","when":"Publication not live.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_REVISION_MISMATCH","when":"The deployment must prove the exact approved article revision or reviewed code change linked to this publication.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_DEPLOYMENT_EVIDENCE_UNAVAILABLE","when":"Configure a supported production deployment evidence adapter.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"SEO_PUBLICATION_DEPLOY_NOT_SEEN","when":"The change is on the default branch, but the public page does not show it yet. Check that the website deployment runs, then verify again.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_NOT_LIVE","when":"Publication not live.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_REVISION_MISMATCH","when":"The deployment must prove the exact approved article revision or reviewed code change linked to this publication.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_DEPLOYMENT_EVIDENCE_UNAVAILABLE","when":"Configure a supported production deployment evidence adapter.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"SEO_PUBLICATION_DEPLOY_NOT_SEEN","when":"The change is on the default branch, but the public page does not show it yet. Check that the website deployment runs, then verify again.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_NOT_LIVE","when":"Publication not live.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_REVISION_MISMATCH","when":"The deployment must prove the exact approved article revision or reviewed code change linked to this publication.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_DEPLOYMENT_EVIDENCE_UNAVAILABLE","when":"Configure a supported production deployment evidence adapter.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}},{"code":"SEO_PUBLICATION_DEPLOY_NOT_SEEN","when":"The change is on the default branch, but the public page does not show it yet. Check that the website deployment runs, then verify again.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_NOT_FOUND","when":"The publication receipt was not found.","recovery":{"operation":"marketing.seo.publications.list"}},{"code":"SEO_PUBLICATION_NOT_LIVE","when":"Publication not live.","recovery":{"operation":"marketing.seo.publications.verify","requiredFields":["publicationId"]}},{"code":"SEO_PUBLICATION_REVISION_MISMATCH","when":"The deployment must prove the exact approved article revision or reviewed code change linked to this publication.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.publications.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoPublicationsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTracking.estimate":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTracking.estimate","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTracking.estimate","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTracking.estimate","description":"Estimate rank tracking cost without running a check. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"cadence":"monthly","depth":20,"devices":1,"method":"queued"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"perCheckCents":1,"monthlyCents":4,"checksPerMonth":4,"method":"queued","currency":"USD","message":"List-price estimate; actual provider cost is recorded after each check."}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTracking.keywords.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTracking.keywords.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTracking.keywords.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTracking.keywords.create","description":"Add a keyword to rank tracking. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keyword":"seo"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","keyword":"crm software","device":"desktop","locationCode":2276,"languageCode":"de","locationName":null,"createdAt":"2026-10-01T08:00:00.000Z","removedAt":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_RANK_TRACKING_KEYWORD_LIMIT","when":"Creating a tracked keyword would exceed 500 active keyword/device pairs.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_RANK_TRACKING_KEYWORD_LIMIT","when":"Creating a tracked keyword would exceed 500 active keyword/device pairs.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_RANK_TRACKING_KEYWORD_LIMIT","when":"Creating a tracked keyword would exceed 500 active keyword/device pairs.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_RANK_TRACKING_KEYWORD_LIMIT","when":"Creating a tracked keyword would exceed 500 active keyword/device pairs.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_RANK_TRACKING_KEYWORD_LIMIT","when":"Creating a tracked keyword would exceed 500 active keyword/device pairs.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_RANK_TRACKING_KEYWORD_LIMIT","when":"Creating a tracked keyword would exceed 500 active keyword/device pairs.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_RANK_TRACKING_KEYWORD_LIMIT","when":"Creating a tracked keyword would exceed 500 active keyword/device pairs.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_RANK_TRACKING_KEYWORD_LIMIT","when":"Creating a tracked keyword would exceed 500 active keyword/device pairs.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_RANK_TRACKING_KEYWORD_LIMIT","when":"Creating a tracked keyword would exceed 500 active keyword/device pairs.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.create"}}},{"code":"SEO_RANK_TRACKING_KEYWORD_LIMIT","when":"Creating a tracked keyword would exceed 500 active keyword/device pairs.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTracking.keywords.delete":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTracking.keywords.delete","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTracking.keywords.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTracking.keywords.delete","description":"Remove a keyword while retaining history. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keywordId":"12345678-1234-4234-8234-123456789abd"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","keyword":"crm software","device":"desktop","locationCode":2276,"languageCode":"de","locationName":null,"createdAt":"2026-10-01T08:00:00.000Z","removedAt":"2026-10-01T08:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.delete"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTracking.keywords.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTracking.keywords.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTracking.keywords.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTracking.keywords.get","description":"Read one tracked keyword's full ranking history, URL changes, SERP features, and AI Overview citations. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keywordId":"12345678-1234-4234-8234-123456789abd"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","keyword":"crm software","device":"desktop","locationCode":2276,"languageCode":"de","createdAt":"2026-10-01T08:00:00.000Z","locationName":null,"removedAt":null,"stats":{"position":null,"previousPosition":null,"bestPosition":null,"worstPosition":null,"averagePosition":null,"movement7d":null,"movement28d":null,"checks":0,"firstCheckedAt":null,"lastCheckedAt":null,"trend":"new"},"history":[],"urlChanges":[],"serpFeatures":[],"aiOverview":null,"sibling":null,"totalCostCents":0,"totalCostMicroCents":0,"currency":"USD"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.get"}}},{"code":"SEO_RANK_KEYWORD_NOT_FOUND","when":"The tracked keyword does not belong to this account or has been removed.","recovery":{"operation":"marketing.seo.rankTracking.keywords.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTracking.keywords.import":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTracking.keywords.import","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTracking.keywords.import","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTracking.keywords.import","description":"Track several keywords on desktop and/or mobile at once. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keywords":["crm software","rechnung schreiben"],"devices":["desktop","mobile"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"added":[{"id":"12345678-1234-4234-8234-123456789abd","keyword":"crm software","device":"desktop","locationCode":2276,"languageCode":"de","locationName":null,"createdAt":"2026-10-01T08:00:00.000Z","removedAt":null}],"skipped":[],"trackedKeywords":1}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}},{"code":"SEO_AI_UNAVAILABLE","when":"AI prompt storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.keywords.import"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsImportError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTracking.keywords.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTracking.keywords.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTracking.keywords.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTracking.keywords.list","description":"List tracked ranking keywords. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abd","keyword":"crm software","device":"desktop","locationCode":2276,"languageCode":"de","locationName":null,"createdAt":"2026-10-01T08:00:00.000Z","removedAt":null}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingKeywordsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTracking.overview.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTracking.overview.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTracking.overview.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTracking.overview.get","description":"Read visibility score, keyword movement, movers, and highlights. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"summary":{"trackedKeywords":0,"desktopKeywords":0,"mobileKeywords":0,"ranked":0,"unranked":0,"unchecked":0,"top3":0,"top10":0,"averagePosition":null,"visibilityScore":0,"improved":0,"declined":0,"aiOverviewPresent":0,"aiOverviewCited":0,"lastCheckedAt":null,"nextCheckAt":null,"cadence":null,"monthToDateCostCents":0,"monthToDateCostMicroCents":0,"currency":"USD"},"keywords":[],"movers":{"winners":[],"losers":[]},"highlights":[],"id":"12345678-1234-4234-8234-123456789abc"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation. No authenticated tenant or eligible caller is present.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.overview.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active member of the requested tenant.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingOverviewGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTracking.run":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTracking.run","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTracking.run","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTracking.run","description":"Run a bounded rank check. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","status":"succeeded","completedAt":"2026-10-01T08:00:00.000Z","snapshots":[],"costCents":0,"costMicroCents":0,"currency":"USD","method":"queued","processed":0,"failures":[],"skipped":false,"skipReason":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}},{"code":"SEO_RANK_TRACKING_RUN_ACTIVE","when":"Another rank check holds this account run lease.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}},{"code":"SEO_RANK_TRACKING_RUN_LEASE_LOST","when":"Another rank check took over this run lease before completion.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}},{"code":"SEO_RANK_TRACKING_RUN_ACTIVE","when":"Another rank check holds this account run lease.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}},{"code":"SEO_RANK_TRACKING_RUN_LEASE_LOST","when":"Another rank check took over this run lease before completion.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}},{"code":"SEO_RANK_TRACKING_RUN_ACTIVE","when":"Another rank check holds this account run lease.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}},{"code":"SEO_RANK_TRACKING_RUN_LEASE_LOST","when":"Another rank check took over this run lease before completion.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}},{"code":"SEO_RANK_TRACKING_RUN_ACTIVE","when":"Another rank check holds this account run lease.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}},{"code":"SEO_RANK_TRACKING_RUN_LEASE_LOST","when":"Another rank check took over this run lease before completion.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}},{"code":"SEO_RANK_TRACKING_RUN_ACTIVE","when":"Another rank check holds this account run lease.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}},{"code":"SEO_RANK_TRACKING_RUN_LEASE_LOST","when":"Another rank check took over this run lease before completion.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}},{"code":"SEO_RANK_TRACKING_RUN_ACTIVE","when":"Another rank check holds this account run lease.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}},{"code":"SEO_RANK_TRACKING_RUN_LEASE_LOST","when":"Another rank check took over this run lease before completion.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}},{"code":"SEO_RANK_TRACKING_RUN_ACTIVE","when":"Another rank check holds this account run lease.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}},{"code":"SEO_RANK_TRACKING_RUN_LEASE_LOST","when":"Another rank check took over this run lease before completion.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}},{"code":"SEO_RANK_TRACKING_RUN_ACTIVE","when":"Another rank check holds this account run lease.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}},{"code":"SEO_RANK_TRACKING_RUN_LEASE_LOST","when":"Another rank check took over this run lease before completion.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}},{"code":"SEO_RANK_TRACKING_RUN_ACTIVE","when":"Another rank check holds this account run lease.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}},{"code":"SEO_RANK_TRACKING_RUN_LEASE_LOST","when":"Another rank check took over this run lease before completion.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.run"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}},{"code":"SEO_RANK_TRACKING_RUN_ACTIVE","when":"Another rank check holds this account run lease.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}},{"code":"SEO_RANK_TRACKING_RUN_LEASE_LOST","when":"Another rank check took over this run lease before completion.","recovery":{"operation":"marketing.seo.rankTracking.snapshots.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTracking.schedule.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTracking.schedule.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTracking.schedule.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTracking.schedule.get","description":"Read the saved rank tracking schedule. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","cadence":"weekly","depth":20,"maxMonthlyCostCents":null,"currency":"USD","nextCheckAt":null,"lastRunAt":null,"lastSkipReason":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTracking.schedule.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTracking.schedule.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTracking.schedule.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTracking.schedule.update","description":"Set an approved rank tracking schedule. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"cadence":"monthly","depth":20,"method":"queued"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","cadence":"weekly","depth":20,"maxMonthlyCostCents":null,"currency":"USD","nextCheckAt":null,"lastRunAt":null,"lastSkipReason":null,"estimate":{"perCheckCents":1,"monthlyCents":4,"checksPerMonth":4,"method":"queued","currency":"USD","message":"List-price estimate; actual provider cost is recorded after each check."}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.schedule.update"}}},{"code":"SEO_RANK_TRACKING_OVER_CEILING","when":"The fresh rank check estimate exceeds the requested cost ceiling.","recovery":{"operation":"marketing.seo.rankTracking.estimate"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingScheduleUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTracking.snapshots.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTracking.snapshots.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTracking.snapshots.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTracking.snapshots.list","description":"List ranking snapshots and period changes. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[],"nextCursor":null,"changes":{"sevenDay":null,"twentyEightDay":null},"changesByKeyword":{}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTracking.snapshots.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingSnapshotsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTrackingRuns.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTrackingRuns.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTrackingRuns.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTrackingRuns.get","description":"Read the durable completed rank-tracking run, its full snapshots, per-check failures and measured cost without contacting a provider. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetInput"},"examples":{"Read a completed run":{"summary":"Read a completed run","value":{"runId":"12345678-1234-4234-8234-123456789abd"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetOutput"},"examples":{"Read a completed run":{"summary":"Read a completed run","value":{"id":"12345678-1234-4234-8234-123456789abd","status":"succeeded","completedAt":"2026-10-01T08:00:00.000Z","snapshots":[],"costCents":0,"costMicroCents":0,"currency":"USD","method":"queued","processed":0,"failures":[],"skipped":false,"skipReason":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.rankTracking.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.rankTracking.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.rankTracking.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.rankTracking.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.rankTracking.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.rankTracking.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.rankTracking.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.rankTracking.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingRuns.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved run is missing, belongs to another account, or has a different run kind.","recovery":{"operation":"marketing.seo.rankTracking.run"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingRunsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.rankTrackingTrend.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.rankTrackingTrend.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.rankTrackingTrend.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.rankTrackingTrend.get","description":"Read the daily visibility, average position, and position band trend. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"days":28}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","days":28,"points":[],"current":null,"start":null,"change":{"visibilityScore":null,"averagePosition":null,"top10":null}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.rankTrackingTrend.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoRankTrackingTrendGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.researchFunnel.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.researchFunnel.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.researchFunnel.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.researchFunnel.get","description":"Group a saved keyword research result by intent, demand, and difficulty. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","resultId":null,"fetchedAt":null,"dataAsOfAt":null,"seeds":[],"costCents":0,"costMicroCents":0,"currency":"USD","total":0,"intents":[],"scatter":[],"buckets":{"quickWins":[],"highValue":[],"longShots":[],"lowData":[]},"tracked":0}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchFunnel.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchFunnelGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.researchHistory.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.researchHistory.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.researchHistory.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.researchHistory.get","description":"Read a saved SEO research result. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"resultId":"12345678-1234-4234-8234-123456789abd"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","items":[{"keyword":"crm software","searchVolume":1900}],"totalCount":1,"sourceTotalCount":1,"costCents":1,"costMicroCents":1000000,"currency":"USD","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"providerPath":"keywords_metrics","researchLog":[],"failures":[]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchHistory.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.researchHistory.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.researchHistory.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.researchHistory.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.researchHistory.list","description":"List saved SEO research results. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abd","kind":"keywords_metrics","inputs":"{\"keywords\":[\"crm software\"]}","rowCount":1,"fetchedAt":"2026-10-01T08:00:00.000Z","costCents":1,"costMicroCents":1000000,"currency":"USD","providerPath":"keywords_metrics"}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchHistoryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.researchOpportunities.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.researchOpportunities.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.researchOpportunities.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.researchOpportunities.get","description":"List striking-distance keywords and competitor keyword gaps. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"domain":"example.com","competitor":"competitor.example"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abc","competitor":null,"strikingDistance":[],"competitorGaps":[],"costCents":1,"costMicroCents":1000000,"currency":"USD","fromCache":false,"fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.researchOpportunities.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoResearchOpportunitiesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.serp.competitors.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.serp.competitors.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.serp.competitors.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.serp.competitors.list","description":"Find domains competing for keywords. A fresh read contacts the paid SEO provider and stores a complete research snapshot; a cache hit replays it without a provider call. maxResults bounds the initial provider selection; limit and cursor page only that saved selection. nextCursor is null when the selected snapshot is exhausted; sourceTotalCount retains the provider corpus count when supplied. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keywords":["seo"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","items":[{"id":"12345678-1234-4234-8234-123456789abd:0","domain":"example.com"}],"totalCount":1,"sourceTotalCount":1,"costCents":1,"costMicroCents":1000000,"currency":"USD","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"providerPath":"serp_competitors","researchLog":[],"failures":[],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.competitors.list"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RESEARCH_NOT_FOUND","when":"The saved result does not belong to this account, no longer exists, or is the wrong research kind.","recovery":{"operation":"marketing.seo.researchHistory.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpCompetitorsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.serp.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.serp.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.serp.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.serp.get","description":"Read organic SERP results for a keyword. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"keyword":"seo"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","items":[{"type":"organic","rank":4,"organicRank":4,"title":"CRM for agencies","url":"https://example.com/crm","domain":"example.com","description":"CRM software for agency workflows.","etv":100}],"totalCount":1,"sourceTotalCount":1,"costCents":1,"costMicroCents":1000000,"currency":"USD","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"providerPath":"serp","researchLog":[],"failures":[],"serpFeatures":["organic"],"depth":20}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.serp.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSerpGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.shareOfVoice.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.shareOfVoice.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.shareOfVoice.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.shareOfVoice.get","description":"Compare organic share of voice against competitors on tracked keywords. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"domain":"example.com","competitors":["competitor.example"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","keywords":["crm software"],"domains":[],"own":null,"competitors":[],"basis":"keywords","items":[],"costCents":1,"costMicroCents":1000000,"currency":"USD","fetchedAt":"2026-10-01T08:00:00.000Z","dataAsOfAt":"2026-10-01T08:00:00.000Z","fromCache":false,"researchResultId":"12345678-1234-4234-8234-123456789abd"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_MARKET_MISSING","when":"No saved market and no complete market override exists.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_MARKET_LANGUAGE_UNSUPPORTED","when":"The requested location and language pair is unsupported.","recovery":{"operation":"marketing.seo.market.update","requiredFields":["locationCode","languageCode"]}},{"code":"SEO_PROVIDER_RATE_LIMITED","when":"DataForSEO refuses a request because its rate limit is reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_AUTH_FAILED","when":"DataForSEO credentials are rejected; an operator must repair provider access.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_PROVIDER_ERROR","when":"DataForSEO returns a failed request or cannot be reached.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_BILLING_SETTLEMENT_FAILED","when":"A provider charge cannot be recorded; reconcile billing before retrying paid work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The account AI allowance cannot reserve the provider cost ceiling.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SEO_RANK_TRACKING_UNAVAILABLE","when":"Rank tracking storage is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.shareOfVoice.get"}}},{"code":"SEO_RANK_TRACKING_NO_KEYWORDS","when":"The account has no tracked keywords to check.","recovery":{"operation":"marketing.seo.rankTracking.keywords.import","requiredFields":["keywords"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoShareOfVoiceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.siteContext.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.siteContext.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.siteContext.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.siteContext.create","description":"Create the account-owned SEO site context and connector selections. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"name":"Example website","domain":"example.com","services":["CRM software"],"goals":["Increase organic visibility"],"competitors":[],"origin":"user_selected"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","companyId":null,"name":"Example services","websiteUrl":"https://example.com","domain":"example.com","targetDomain":"example.com","audience":"Local customers","offerSummary":"Dental services in Berlin","services":["Dental care"],"goals":["Increase qualified organic visits"],"competitors":[],"brandAliases":[],"market":null,"searchConsoleProperty":null,"analyticsProperty":null,"repositoryConnectionId":null,"origin":"user_selected","automationMode":"approve_first","fullAutonomyConsent":null,"indexingApiOptIn":false,"publicRoot":null,"automationPaused":false,"automationPausedAt":null,"revision":1,"createdByUserId":"12345678-1234-4234-8234-123456789abe","createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_EXISTS","when":"This account already has a saved SEO context.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_EXISTS","when":"This account already has a saved SEO context.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_EXISTS","when":"This account already has a saved SEO context.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_EXISTS","when":"This account already has a saved SEO context.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_EXISTS","when":"This account already has a saved SEO context.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_EXISTS","when":"This account already has a saved SEO context.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_EXISTS","when":"This account already has a saved SEO context.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_EXISTS","when":"This account already has a saved SEO context.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_EXISTS","when":"This account already has a saved SEO context.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_EXISTS","when":"This account already has a saved SEO context.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.siteContext.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.siteContext.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.siteContext.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.siteContext.get","description":"Read saved website, audience, offer, source links, and SEO setup requirements. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","companyId":null,"name":"Example services","websiteUrl":"https://example.com","domain":"example.com","targetDomain":"example.com","audience":"Local customers","offerSummary":"Dental services in Berlin","services":["Dental care"],"goals":["Increase qualified organic visits"],"competitors":[],"brandAliases":[],"market":null,"searchConsoleProperty":null,"analyticsProperty":null,"repositoryConnectionId":null,"origin":"user_selected","automationMode":"approve_first","fullAutonomyConsent":null,"indexingApiOptIn":false,"publicRoot":null,"automationPaused":false,"automationPausedAt":null,"revision":1,"createdByUserId":"12345678-1234-4234-8234-123456789abe","createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","readiness":{"ready":true,"requirements":[],"missing":[]}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.create","requiredFields":["name"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.siteContext.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.siteContext.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.siteContext.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.siteContext.update","description":"Update the SEO site context with an exact revision. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"contextId":"12345678-1234-4234-8234-123456789ac5","expectedRevision":1,"audience":"Growing teams"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","companyId":null,"name":"Example services","websiteUrl":"https://example.com","domain":"example.com","targetDomain":"example.com","audience":"Local customers","offerSummary":"Dental services in Berlin","services":["Dental care"],"goals":["Increase qualified organic visits"],"competitors":[],"brandAliases":[],"market":null,"searchConsoleProperty":null,"analyticsProperty":null,"repositoryConnectionId":null,"origin":"user_selected","automationMode":"approve_first","fullAutonomyConsent":null,"indexingApiOptIn":false,"publicRoot":null,"automationPaused":false,"automationPausedAt":null,"revision":2,"createdByUserId":"12345678-1234-4234-8234-123456789abe","createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.get"}},{"code":"SEO_SITE_CONTEXT_CONFLICT","when":"The expected revision is stale.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.get"}},{"code":"SEO_SITE_CONTEXT_CONFLICT","when":"The expected revision is stale.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.get"}},{"code":"SEO_SITE_CONTEXT_CONFLICT","when":"The expected revision is stale.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.get"}},{"code":"SEO_SITE_CONTEXT_CONFLICT","when":"The expected revision is stale.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.get"}},{"code":"SEO_SITE_CONTEXT_CONFLICT","when":"The expected revision is stale.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.get"}},{"code":"SEO_SITE_CONTEXT_CONFLICT","when":"The expected revision is stale.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.get"}},{"code":"SEO_SITE_CONTEXT_CONFLICT","when":"The expected revision is stale.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.get"}},{"code":"SEO_SITE_CONTEXT_CONFLICT","when":"The expected revision is stale.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.get"}},{"code":"SEO_SITE_CONTEXT_CONFLICT","when":"The expected revision is stale.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.siteContext.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The credential tenant has no matching saved context.","recovery":{"operation":"marketing.seo.siteContext.get"}},{"code":"SEO_SITE_CONTEXT_CONFLICT","when":"The expected revision is stale.","recovery":{"operation":"marketing.seo.siteContext.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoSiteContextUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.targets.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.targets.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.targets.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.targets.create","description":"Persist an exact URL-to-source mapping only when the source is unambiguous, editable, and inside the connected repository path policy. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"connectionId":"repository-connection-1","publicUrl":"https://example.com/crm-software","candidates":[{"publicUrl":"https://example.com/crm-software","sourcePath":"content/crm-software.md","contentType":"blog_article","configFingerprint":"config-1","supportedEditActions":["update_content"]}]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789ac3","targetId":"12345678-1234-4234-8234-123456789ac3","accountId":"12345678-1234-4234-8234-123456789abc","connectionId":"22345678-1234-4234-8234-123456789abd","publicUrl":"https://example.com/crm-software","canonicalUrl":"https://example.com/crm-software","locale":"en","sourcePath":"content/crm-software.md","contentType":"blog_article","baseSha":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","configFingerprint":"website-config-v1","supportedEditActions":["update_content","update_metadata"],"confidence":"high","confidenceReason":"One verified static source matches the public URL.","ambiguous":false,"dynamicRoute":false,"supported":true,"readOnly":false,"stale":{"base":false,"config":false},"verifiedAt":"2026-10-13T12:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_FORBIDDEN_PATH","when":"The resolved source path is forbidden.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_INVALID_URL","when":"The requested public page URL is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_FORBIDDEN_PATH","when":"The resolved source path is forbidden.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_INVALID_URL","when":"The requested public page URL is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_FORBIDDEN_PATH","when":"The resolved source path is forbidden.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_INVALID_URL","when":"The requested public page URL is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_FORBIDDEN_PATH","when":"The resolved source path is forbidden.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_INVALID_URL","when":"The requested public page URL is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_FORBIDDEN_PATH","when":"The resolved source path is forbidden.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_INVALID_URL","when":"The requested public page URL is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_FORBIDDEN_PATH","when":"The resolved source path is forbidden.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_INVALID_URL","when":"The requested public page URL is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_FORBIDDEN_PATH","when":"The resolved source path is forbidden.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_INVALID_URL","when":"The requested public page URL is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_FORBIDDEN_PATH","when":"The resolved source path is forbidden.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_INVALID_URL","when":"The requested public page URL is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_FORBIDDEN_PATH","when":"The resolved source path is forbidden.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_INVALID_URL","when":"The requested public page URL is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_FORBIDDEN_PATH","when":"The resolved source path is forbidden.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_INVALID_URL","when":"The requested public page URL is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.targets.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.targets.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.targets.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.targets.get","description":"Read a target mapping and revalidate its current repository base and configuration when possible. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"targetId":"12345678-1234-4234-8234-123456789ac3"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"12345678-1234-4234-8234-123456789ac3","targetId":"12345678-1234-4234-8234-123456789ac3","accountId":"12345678-1234-4234-8234-123456789abc","connectionId":"22345678-1234-4234-8234-123456789abd","publicUrl":"https://example.com/crm-software","canonicalUrl":"https://example.com/crm-software","locale":"en","sourcePath":"content/crm-software.md","contentType":"blog_article","baseSha":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","configFingerprint":"website-config-v1","supportedEditActions":["update_content","update_metadata"],"confidence":"high","confidenceReason":"One verified static source matches the public URL.","ambiguous":false,"dynamicRoute":false,"supported":true,"readOnly":false,"stale":{"base":false,"config":false},"verifiedAt":"2026-10-13T12:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_TARGET_NOT_FOUND","when":"The target mapping was not found in the authenticated account.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The current repository source could not be read for revalidation.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed; resolve the same URL again before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_TARGET_NOT_FOUND","when":"The target mapping was not found in the authenticated account.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The current repository source could not be read for revalidation.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed; resolve the same URL again before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_TARGET_NOT_FOUND","when":"The target mapping was not found in the authenticated account.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The current repository source could not be read for revalidation.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed; resolve the same URL again before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_TARGET_NOT_FOUND","when":"The target mapping was not found in the authenticated account.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The current repository source could not be read for revalidation.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed; resolve the same URL again before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_TARGET_NOT_FOUND","when":"The target mapping was not found in the authenticated account.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The current repository source could not be read for revalidation.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed; resolve the same URL again before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_TARGET_NOT_FOUND","when":"The target mapping was not found in the authenticated account.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The current repository source could not be read for revalidation.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed; resolve the same URL again before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_TARGET_NOT_FOUND","when":"The target mapping was not found in the authenticated account.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The current repository source could not be read for revalidation.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed; resolve the same URL again before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_TARGET_NOT_FOUND","when":"The target mapping was not found in the authenticated account.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The current repository source could not be read for revalidation.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed; resolve the same URL again before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_TARGET_NOT_FOUND","when":"The target mapping was not found in the authenticated account.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The current repository source could not be read for revalidation.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed; resolve the same URL again before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.targets.reconcile":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.targets.reconcile","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.targets.reconcile","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.targets.reconcile","description":"Reads the linked website repository's file list once, matches each sitemap, Search Console or crawl page to its static Next.js or TanStack Start source, and saves a verified target for each unambiguous match. Pages already mapped are kept; dynamic routes and ambiguous sources are reported, never guessed.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileInput"},"examples":{"Map the pages of a site":{"summary":"Map the pages of a site","value":{"siteId":"22345678-1234-4234-8234-123456789abd"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site does not exist in this account.","recovery":{"operation":"marketing.seo.siteContext.get","requiredFields":["accountId"]}},{"code":"SEO_SITE_REPOSITORY_NOT_LINKED","when":"The site has no linked website repository, so no page can be mapped.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"The linked repository connection is not active.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"Repository connections cannot be read in this environment.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"The linked repository is not a website repository.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"The linked repository is not verified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The linked repository is read-only.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_SOURCE_TREE_UNAVAILABLE","when":"The repository file list could not be read; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site does not exist in this account.","recovery":{"operation":"marketing.seo.siteContext.get","requiredFields":["accountId"]}},{"code":"SEO_SITE_REPOSITORY_NOT_LINKED","when":"The site has no linked website repository, so no page can be mapped.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"The linked repository connection is not active.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"Repository connections cannot be read in this environment.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"The linked repository is not a website repository.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"The linked repository is not verified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The linked repository is read-only.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_SOURCE_TREE_UNAVAILABLE","when":"The repository file list could not be read; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site does not exist in this account.","recovery":{"operation":"marketing.seo.siteContext.get","requiredFields":["accountId"]}},{"code":"SEO_SITE_REPOSITORY_NOT_LINKED","when":"The site has no linked website repository, so no page can be mapped.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"The linked repository connection is not active.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"Repository connections cannot be read in this environment.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"The linked repository is not a website repository.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"The linked repository is not verified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The linked repository is read-only.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_SOURCE_TREE_UNAVAILABLE","when":"The repository file list could not be read; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site does not exist in this account.","recovery":{"operation":"marketing.seo.siteContext.get","requiredFields":["accountId"]}},{"code":"SEO_SITE_REPOSITORY_NOT_LINKED","when":"The site has no linked website repository, so no page can be mapped.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"The linked repository connection is not active.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"Repository connections cannot be read in this environment.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"The linked repository is not a website repository.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"The linked repository is not verified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The linked repository is read-only.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_SOURCE_TREE_UNAVAILABLE","when":"The repository file list could not be read; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site does not exist in this account.","recovery":{"operation":"marketing.seo.siteContext.get","requiredFields":["accountId"]}},{"code":"SEO_SITE_REPOSITORY_NOT_LINKED","when":"The site has no linked website repository, so no page can be mapped.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"The linked repository connection is not active.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"Repository connections cannot be read in this environment.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"The linked repository is not a website repository.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"The linked repository is not verified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The linked repository is read-only.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_SOURCE_TREE_UNAVAILABLE","when":"The repository file list could not be read; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site does not exist in this account.","recovery":{"operation":"marketing.seo.siteContext.get","requiredFields":["accountId"]}},{"code":"SEO_SITE_REPOSITORY_NOT_LINKED","when":"The site has no linked website repository, so no page can be mapped.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"The linked repository connection is not active.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"Repository connections cannot be read in this environment.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"The linked repository is not a website repository.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"The linked repository is not verified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The linked repository is read-only.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_SOURCE_TREE_UNAVAILABLE","when":"The repository file list could not be read; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site does not exist in this account.","recovery":{"operation":"marketing.seo.siteContext.get","requiredFields":["accountId"]}},{"code":"SEO_SITE_REPOSITORY_NOT_LINKED","when":"The site has no linked website repository, so no page can be mapped.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"The linked repository connection is not active.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"Repository connections cannot be read in this environment.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"The linked repository is not a website repository.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"The linked repository is not verified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The linked repository is read-only.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_SOURCE_TREE_UNAVAILABLE","when":"The repository file list could not be read; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site does not exist in this account.","recovery":{"operation":"marketing.seo.siteContext.get","requiredFields":["accountId"]}},{"code":"SEO_SITE_REPOSITORY_NOT_LINKED","when":"The site has no linked website repository, so no page can be mapped.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"The linked repository connection is not active.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"Repository connections cannot be read in this environment.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"The linked repository is not a website repository.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"The linked repository is not verified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The linked repository is read-only.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_SOURCE_TREE_UNAVAILABLE","when":"The repository file list could not be read; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site does not exist in this account.","recovery":{"operation":"marketing.seo.siteContext.get","requiredFields":["accountId"]}},{"code":"SEO_SITE_REPOSITORY_NOT_LINKED","when":"The site has no linked website repository, so no page can be mapped.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"The linked repository connection is not active.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"Repository connections cannot be read in this environment.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"The linked repository is not a website repository.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"The linked repository is not verified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The linked repository is read-only.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_SOURCE_TREE_UNAVAILABLE","when":"The repository file list could not be read; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_SITE_CONTEXT_NOT_FOUND","when":"The SEO site does not exist in this account.","recovery":{"operation":"marketing.seo.siteContext.get","requiredFields":["accountId"]}},{"code":"SEO_SITE_REPOSITORY_NOT_LINKED","when":"The site has no linked website repository, so no page can be mapped.","recovery":{"operation":"marketing.seo.siteContext.update","requiredFields":["contextId","expectedRevision","repositoryConnectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"The linked repository connection is not active.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"Repository connections cannot be read in this environment.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"The linked repository is not a website repository.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"The linked repository is not verified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The linked repository is read-only.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_SOURCE_TREE_UNAVAILABLE","when":"The repository file list could not be read; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.targets.reconcile"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoTargetsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.websiteChanges.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.websiteChanges.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.websiteChanges.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.websiteChanges.create","description":"Revalidate target freshness and connection policy, then delegate to the existing repository-change proposer. This operation never runs repository code itself. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateInput"},"examples":{"Typical request":{"summary":"Typical request","value":{"targetId":"12345678-1234-4234-8234-123456789ac3","goal":"Improve the SEO content on the resolved page.","targetPaths":["content/crm-software.md"],"requestPullRequest":true,"evidence":{},"idempotencyKey":"website-change-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateOutput"},"examples":{"Typical request":{"summary":"Typical request","value":{"id":"32345678-1234-4234-8234-123456789abd","preparedChangeId":"32345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","targetId":"12345678-1234-4234-8234-123456789ac3","connectionId":"22345678-1234-4234-8234-123456789abd","repositoryChangeId":"32345678-1234-4234-8234-123456789abd","articleRevisionId":"42345678-1234-4234-8234-123456789abd","targetPaths":["content/crm-software.md"],"state":"prepared","humanRequiredReason":"review","previewUrl":null,"pullRequestUrl":"https://github.com/example/website/pull/42","diffUrl":"https://github.com/example/website/pull/42/files","createdAt":"2026-10-13T12:00:00.000Z","updatedAt":"2026-10-13T12:00:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_APPROVED","when":"The linked article revision is not the current approved revision.","recovery":{"operation":"marketing.seo.articles.approve","requiredFields":["articleId","expectedRevision"]}},{"code":"SEO_ARTICLE_REVISION_REQUIRED","when":"An article ID and its approved revision are required together.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_BASELINE_REQUIRED","when":"Capture an immutable baseline for this page before preparing the change.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_AMBIGUOUS","when":"The approved source text must occur exactly once.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_EVIDENCE_REQUIRED","when":"The approved revision requires business facts and source evidence.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_FORBIDDEN_PATH","when":"Shared templates and configuration require explicit manual review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_LINK_TARGET_REQUIRED","when":"The internal link must point to a verified existing page.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_NO_CHANGE","when":"The approved edit has no effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SCOPE_EXPANSION","when":"Headlines must contain literal text only.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SEMANTIC_TARGET","when":"The exact reviewed text is not a static page headline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_STALE_REVISION","when":"The repository base or exact source changed; review a fresh revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_TEXT_NOT_APPROVED","when":"The replacement must be the exact text from the approved revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_UNSUPPORTED_FORMAT","when":"Resolve a static Next.js page or Markdown/MDX document for this edit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_ACTION_UNSUPPORTED","when":"The exact target does not allow this SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_CONNECTION_MISMATCH","when":"The supplied repository connection does not match the target mapping.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed. Resolve the same URL again and review the current source before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SCOPE_EXPANSION","when":"A website change may target only the resolved source path.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SHARED_TEMPLATE","when":"This source serves multiple verified pages; review the shared impact before editing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_STALE_MAPPING","when":"The repository source path or authority changed. Resolve this same public URL against the current repository, then update the action to the reviewed target before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_INVALID","when":"The repository change proposer returned an invalid safe result.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_UNAVAILABLE","when":"The repository change proposer is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EDITING_REQUIRES_GITHUB","when":"Website changes need a GitHub repository in this test; tracking and planning keep running.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EXECUTION_ROUTE_REQUIRED","when":"Website execution route required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_APPROVED","when":"The linked article revision is not the current approved revision.","recovery":{"operation":"marketing.seo.articles.approve","requiredFields":["articleId","expectedRevision"]}},{"code":"SEO_ARTICLE_REVISION_REQUIRED","when":"An article ID and its approved revision are required together.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_BASELINE_REQUIRED","when":"Capture an immutable baseline for this page before preparing the change.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_AMBIGUOUS","when":"The approved source text must occur exactly once.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_EVIDENCE_REQUIRED","when":"The approved revision requires business facts and source evidence.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_FORBIDDEN_PATH","when":"Shared templates and configuration require explicit manual review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_LINK_TARGET_REQUIRED","when":"The internal link must point to a verified existing page.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_NO_CHANGE","when":"The approved edit has no effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SCOPE_EXPANSION","when":"Headlines must contain literal text only.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SEMANTIC_TARGET","when":"The exact reviewed text is not a static page headline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_STALE_REVISION","when":"The repository base or exact source changed; review a fresh revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_TEXT_NOT_APPROVED","when":"The replacement must be the exact text from the approved revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_UNSUPPORTED_FORMAT","when":"Resolve a static Next.js page or Markdown/MDX document for this edit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_ACTION_UNSUPPORTED","when":"The exact target does not allow this SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_CONNECTION_MISMATCH","when":"The supplied repository connection does not match the target mapping.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed. Resolve the same URL again and review the current source before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SCOPE_EXPANSION","when":"A website change may target only the resolved source path.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SHARED_TEMPLATE","when":"This source serves multiple verified pages; review the shared impact before editing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_STALE_MAPPING","when":"The repository source path or authority changed. Resolve this same public URL against the current repository, then update the action to the reviewed target before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_INVALID","when":"The repository change proposer returned an invalid safe result.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_UNAVAILABLE","when":"The repository change proposer is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EDITING_REQUIRES_GITHUB","when":"Website changes need a GitHub repository in this test; tracking and planning keep running.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EXECUTION_ROUTE_REQUIRED","when":"Website execution route required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_APPROVED","when":"The linked article revision is not the current approved revision.","recovery":{"operation":"marketing.seo.articles.approve","requiredFields":["articleId","expectedRevision"]}},{"code":"SEO_ARTICLE_REVISION_REQUIRED","when":"An article ID and its approved revision are required together.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_BASELINE_REQUIRED","when":"Capture an immutable baseline for this page before preparing the change.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_AMBIGUOUS","when":"The approved source text must occur exactly once.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_EVIDENCE_REQUIRED","when":"The approved revision requires business facts and source evidence.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_FORBIDDEN_PATH","when":"Shared templates and configuration require explicit manual review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_LINK_TARGET_REQUIRED","when":"The internal link must point to a verified existing page.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_NO_CHANGE","when":"The approved edit has no effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SCOPE_EXPANSION","when":"Headlines must contain literal text only.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SEMANTIC_TARGET","when":"The exact reviewed text is not a static page headline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_STALE_REVISION","when":"The repository base or exact source changed; review a fresh revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_TEXT_NOT_APPROVED","when":"The replacement must be the exact text from the approved revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_UNSUPPORTED_FORMAT","when":"Resolve a static Next.js page or Markdown/MDX document for this edit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_ACTION_UNSUPPORTED","when":"The exact target does not allow this SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_CONNECTION_MISMATCH","when":"The supplied repository connection does not match the target mapping.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed. Resolve the same URL again and review the current source before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SCOPE_EXPANSION","when":"A website change may target only the resolved source path.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SHARED_TEMPLATE","when":"This source serves multiple verified pages; review the shared impact before editing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_STALE_MAPPING","when":"The repository source path or authority changed. Resolve this same public URL against the current repository, then update the action to the reviewed target before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_INVALID","when":"The repository change proposer returned an invalid safe result.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_UNAVAILABLE","when":"The repository change proposer is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EDITING_REQUIRES_GITHUB","when":"Website changes need a GitHub repository in this test; tracking and planning keep running.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EXECUTION_ROUTE_REQUIRED","when":"Website execution route required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_APPROVED","when":"The linked article revision is not the current approved revision.","recovery":{"operation":"marketing.seo.articles.approve","requiredFields":["articleId","expectedRevision"]}},{"code":"SEO_ARTICLE_REVISION_REQUIRED","when":"An article ID and its approved revision are required together.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_BASELINE_REQUIRED","when":"Capture an immutable baseline for this page before preparing the change.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_AMBIGUOUS","when":"The approved source text must occur exactly once.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_EVIDENCE_REQUIRED","when":"The approved revision requires business facts and source evidence.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_FORBIDDEN_PATH","when":"Shared templates and configuration require explicit manual review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_LINK_TARGET_REQUIRED","when":"The internal link must point to a verified existing page.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_NO_CHANGE","when":"The approved edit has no effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SCOPE_EXPANSION","when":"Headlines must contain literal text only.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SEMANTIC_TARGET","when":"The exact reviewed text is not a static page headline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_STALE_REVISION","when":"The repository base or exact source changed; review a fresh revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_TEXT_NOT_APPROVED","when":"The replacement must be the exact text from the approved revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_UNSUPPORTED_FORMAT","when":"Resolve a static Next.js page or Markdown/MDX document for this edit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_ACTION_UNSUPPORTED","when":"The exact target does not allow this SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_CONNECTION_MISMATCH","when":"The supplied repository connection does not match the target mapping.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed. Resolve the same URL again and review the current source before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SCOPE_EXPANSION","when":"A website change may target only the resolved source path.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SHARED_TEMPLATE","when":"This source serves multiple verified pages; review the shared impact before editing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_STALE_MAPPING","when":"The repository source path or authority changed. Resolve this same public URL against the current repository, then update the action to the reviewed target before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_INVALID","when":"The repository change proposer returned an invalid safe result.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_UNAVAILABLE","when":"The repository change proposer is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EDITING_REQUIRES_GITHUB","when":"Website changes need a GitHub repository in this test; tracking and planning keep running.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EXECUTION_ROUTE_REQUIRED","when":"Website execution route required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_APPROVED","when":"The linked article revision is not the current approved revision.","recovery":{"operation":"marketing.seo.articles.approve","requiredFields":["articleId","expectedRevision"]}},{"code":"SEO_ARTICLE_REVISION_REQUIRED","when":"An article ID and its approved revision are required together.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_BASELINE_REQUIRED","when":"Capture an immutable baseline for this page before preparing the change.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_AMBIGUOUS","when":"The approved source text must occur exactly once.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_EVIDENCE_REQUIRED","when":"The approved revision requires business facts and source evidence.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_FORBIDDEN_PATH","when":"Shared templates and configuration require explicit manual review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_LINK_TARGET_REQUIRED","when":"The internal link must point to a verified existing page.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_NO_CHANGE","when":"The approved edit has no effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SCOPE_EXPANSION","when":"Headlines must contain literal text only.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SEMANTIC_TARGET","when":"The exact reviewed text is not a static page headline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_STALE_REVISION","when":"The repository base or exact source changed; review a fresh revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_TEXT_NOT_APPROVED","when":"The replacement must be the exact text from the approved revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_UNSUPPORTED_FORMAT","when":"Resolve a static Next.js page or Markdown/MDX document for this edit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_ACTION_UNSUPPORTED","when":"The exact target does not allow this SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_CONNECTION_MISMATCH","when":"The supplied repository connection does not match the target mapping.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed. Resolve the same URL again and review the current source before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SCOPE_EXPANSION","when":"A website change may target only the resolved source path.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SHARED_TEMPLATE","when":"This source serves multiple verified pages; review the shared impact before editing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_STALE_MAPPING","when":"The repository source path or authority changed. Resolve this same public URL against the current repository, then update the action to the reviewed target before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_INVALID","when":"The repository change proposer returned an invalid safe result.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_UNAVAILABLE","when":"The repository change proposer is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EDITING_REQUIRES_GITHUB","when":"Website changes need a GitHub repository in this test; tracking and planning keep running.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EXECUTION_ROUTE_REQUIRED","when":"Website execution route required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_APPROVED","when":"The linked article revision is not the current approved revision.","recovery":{"operation":"marketing.seo.articles.approve","requiredFields":["articleId","expectedRevision"]}},{"code":"SEO_ARTICLE_REVISION_REQUIRED","when":"An article ID and its approved revision are required together.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_BASELINE_REQUIRED","when":"Capture an immutable baseline for this page before preparing the change.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_AMBIGUOUS","when":"The approved source text must occur exactly once.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_EVIDENCE_REQUIRED","when":"The approved revision requires business facts and source evidence.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_FORBIDDEN_PATH","when":"Shared templates and configuration require explicit manual review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_LINK_TARGET_REQUIRED","when":"The internal link must point to a verified existing page.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_NO_CHANGE","when":"The approved edit has no effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SCOPE_EXPANSION","when":"Headlines must contain literal text only.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SEMANTIC_TARGET","when":"The exact reviewed text is not a static page headline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_STALE_REVISION","when":"The repository base or exact source changed; review a fresh revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_TEXT_NOT_APPROVED","when":"The replacement must be the exact text from the approved revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_UNSUPPORTED_FORMAT","when":"Resolve a static Next.js page or Markdown/MDX document for this edit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_ACTION_UNSUPPORTED","when":"The exact target does not allow this SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_CONNECTION_MISMATCH","when":"The supplied repository connection does not match the target mapping.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed. Resolve the same URL again and review the current source before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SCOPE_EXPANSION","when":"A website change may target only the resolved source path.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SHARED_TEMPLATE","when":"This source serves multiple verified pages; review the shared impact before editing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_STALE_MAPPING","when":"The repository source path or authority changed. Resolve this same public URL against the current repository, then update the action to the reviewed target before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_INVALID","when":"The repository change proposer returned an invalid safe result.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_UNAVAILABLE","when":"The repository change proposer is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EDITING_REQUIRES_GITHUB","when":"Website changes need a GitHub repository in this test; tracking and planning keep running.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EXECUTION_ROUTE_REQUIRED","when":"Website execution route required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_APPROVED","when":"The linked article revision is not the current approved revision.","recovery":{"operation":"marketing.seo.articles.approve","requiredFields":["articleId","expectedRevision"]}},{"code":"SEO_ARTICLE_REVISION_REQUIRED","when":"An article ID and its approved revision are required together.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_BASELINE_REQUIRED","when":"Capture an immutable baseline for this page before preparing the change.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_AMBIGUOUS","when":"The approved source text must occur exactly once.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_EVIDENCE_REQUIRED","when":"The approved revision requires business facts and source evidence.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_FORBIDDEN_PATH","when":"Shared templates and configuration require explicit manual review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_LINK_TARGET_REQUIRED","when":"The internal link must point to a verified existing page.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_NO_CHANGE","when":"The approved edit has no effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SCOPE_EXPANSION","when":"Headlines must contain literal text only.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SEMANTIC_TARGET","when":"The exact reviewed text is not a static page headline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_STALE_REVISION","when":"The repository base or exact source changed; review a fresh revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_TEXT_NOT_APPROVED","when":"The replacement must be the exact text from the approved revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_UNSUPPORTED_FORMAT","when":"Resolve a static Next.js page or Markdown/MDX document for this edit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_ACTION_UNSUPPORTED","when":"The exact target does not allow this SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_CONNECTION_MISMATCH","when":"The supplied repository connection does not match the target mapping.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed. Resolve the same URL again and review the current source before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SCOPE_EXPANSION","when":"A website change may target only the resolved source path.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SHARED_TEMPLATE","when":"This source serves multiple verified pages; review the shared impact before editing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_STALE_MAPPING","when":"The repository source path or authority changed. Resolve this same public URL against the current repository, then update the action to the reviewed target before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_INVALID","when":"The repository change proposer returned an invalid safe result.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_UNAVAILABLE","when":"The repository change proposer is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EDITING_REQUIRES_GITHUB","when":"Website changes need a GitHub repository in this test; tracking and planning keep running.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EXECUTION_ROUTE_REQUIRED","when":"Website execution route required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_APPROVED","when":"The linked article revision is not the current approved revision.","recovery":{"operation":"marketing.seo.articles.approve","requiredFields":["articleId","expectedRevision"]}},{"code":"SEO_ARTICLE_REVISION_REQUIRED","when":"An article ID and its approved revision are required together.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_BASELINE_REQUIRED","when":"Capture an immutable baseline for this page before preparing the change.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_AMBIGUOUS","when":"The approved source text must occur exactly once.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_EVIDENCE_REQUIRED","when":"The approved revision requires business facts and source evidence.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_FORBIDDEN_PATH","when":"Shared templates and configuration require explicit manual review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_LINK_TARGET_REQUIRED","when":"The internal link must point to a verified existing page.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_NO_CHANGE","when":"The approved edit has no effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SCOPE_EXPANSION","when":"Headlines must contain literal text only.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SEMANTIC_TARGET","when":"The exact reviewed text is not a static page headline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_STALE_REVISION","when":"The repository base or exact source changed; review a fresh revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_TEXT_NOT_APPROVED","when":"The replacement must be the exact text from the approved revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_UNSUPPORTED_FORMAT","when":"Resolve a static Next.js page or Markdown/MDX document for this edit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_ACTION_UNSUPPORTED","when":"The exact target does not allow this SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_CONNECTION_MISMATCH","when":"The supplied repository connection does not match the target mapping.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed. Resolve the same URL again and review the current source before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SCOPE_EXPANSION","when":"A website change may target only the resolved source path.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SHARED_TEMPLATE","when":"This source serves multiple verified pages; review the shared impact before editing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_STALE_MAPPING","when":"The repository source path or authority changed. Resolve this same public URL against the current repository, then update the action to the reviewed target before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_INVALID","when":"The repository change proposer returned an invalid safe result.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_UNAVAILABLE","when":"The repository change proposer is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EDITING_REQUIRES_GITHUB","when":"Website changes need a GitHub repository in this test; tracking and planning keep running.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EXECUTION_ROUTE_REQUIRED","when":"Website execution route required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_APPROVED","when":"The linked article revision is not the current approved revision.","recovery":{"operation":"marketing.seo.articles.approve","requiredFields":["articleId","expectedRevision"]}},{"code":"SEO_ARTICLE_REVISION_REQUIRED","when":"An article ID and its approved revision are required together.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_BASELINE_REQUIRED","when":"Capture an immutable baseline for this page before preparing the change.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_AMBIGUOUS","when":"The approved source text must occur exactly once.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_EVIDENCE_REQUIRED","when":"The approved revision requires business facts and source evidence.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_FORBIDDEN_PATH","when":"Shared templates and configuration require explicit manual review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_LINK_TARGET_REQUIRED","when":"The internal link must point to a verified existing page.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_NO_CHANGE","when":"The approved edit has no effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SCOPE_EXPANSION","when":"Headlines must contain literal text only.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SEMANTIC_TARGET","when":"The exact reviewed text is not a static page headline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_STALE_REVISION","when":"The repository base or exact source changed; review a fresh revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_TEXT_NOT_APPROVED","when":"The replacement must be the exact text from the approved revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_UNSUPPORTED_FORMAT","when":"Resolve a static Next.js page or Markdown/MDX document for this edit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_ACTION_UNSUPPORTED","when":"The exact target does not allow this SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_CONNECTION_MISMATCH","when":"The supplied repository connection does not match the target mapping.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed. Resolve the same URL again and review the current source before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SCOPE_EXPANSION","when":"A website change may target only the resolved source path.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SHARED_TEMPLATE","when":"This source serves multiple verified pages; review the shared impact before editing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_STALE_MAPPING","when":"The repository source path or authority changed. Resolve this same public URL against the current repository, then update the action to the reviewed target before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_INVALID","when":"The repository change proposer returned an invalid safe result.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_UNAVAILABLE","when":"The repository change proposer is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EDITING_REQUIRES_GITHUB","when":"Website changes need a GitHub repository in this test; tracking and planning keep running.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EXECUTION_ROUTE_REQUIRED","when":"Website execution route required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_ARTICLE_REVISION_NOT_APPROVED","when":"The linked article revision is not the current approved revision.","recovery":{"operation":"marketing.seo.articles.approve","requiredFields":["articleId","expectedRevision"]}},{"code":"SEO_ARTICLE_REVISION_REQUIRED","when":"An article ID and its approved revision are required together.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_BASELINE_REQUIRED","when":"Capture an immutable baseline for this page before preparing the change.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_AMBIGUOUS","when":"The approved source text must occur exactly once.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_EVIDENCE_REQUIRED","when":"The approved revision requires business facts and source evidence.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_FORBIDDEN_PATH","when":"Shared templates and configuration require explicit manual review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_LINK_TARGET_REQUIRED","when":"The internal link must point to a verified existing page.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_NO_CHANGE","when":"The approved edit has no effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SCOPE_EXPANSION","when":"Headlines must contain literal text only.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_SEMANTIC_TARGET","when":"The exact reviewed text is not a static page headline.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_STALE_REVISION","when":"The repository base or exact source changed; review a fresh revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_TEXT_NOT_APPROVED","when":"The replacement must be the exact text from the approved revision.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_EDIT_UNSUPPORTED_FORMAT","when":"Resolve a static Next.js page or Markdown/MDX document for this edit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_NOT_FOUND","when":"Repository connection not found.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNAVAILABLE","when":"The repository connection could not be verified; no SEO target was created.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_REPOSITORY_CONNECTION_UNSUPPORTED","when":"Repository connection unsupported.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_REPOSITORY_CONNECTION_UNVERIFIED","when":"Repository connection unverified.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_ACTION_UNSUPPORTED","when":"The exact target does not allow this SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_AMBIGUOUS","when":"The target mapping is ambiguous and requires human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_CONNECTION_MISMATCH","when":"The supplied repository connection does not match the target mapping.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_DYNAMIC_ROUTE","when":"Dynamic routes require explicit human resolution.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_NOT_FOUND","when":"The SEO target mapping was not found.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_READ_ONLY","when":"The target is read-only and cannot be changed.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_REFRESH_CONFLICT","when":"The saved target changed while it was being refreshed. Resolve the same URL again and review the current source before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_REVALIDATION_UNAVAILABLE","when":"The repository source could not be revalidated; no change was prepared.","recovery":{"operation":"marketing.seo.targets.get","requiredFields":["targetId"]}},{"code":"SEO_TARGET_SCOPE_EXPANSION","when":"A website change may target only the resolved source path.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SHARED_TEMPLATE","when":"This source serves multiple verified pages; review the shared impact before editing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_TARGET_SOURCE_NOT_ALLOWED","when":"The matched source is outside the connected repository editable path policy.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"SEO_TARGET_STALE_MAPPING","when":"The repository source path or authority changed. Resolve this same public URL against the current repository, then update the action to the reviewed target before retrying.","recovery":{"operation":"marketing.seo.targets.create","requiredFields":["connectionId","publicUrl"]}},{"code":"SEO_TARGET_UNSUPPORTED","when":"The target does not have a supported SEO edit action.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_INVALID","when":"The repository change proposer returned an invalid safe result.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_CHANGE_UNAVAILABLE","when":"The repository change proposer is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EDITING_REQUIRES_GITHUB","when":"Website changes need a GitHub repository in this test; tracking and planning keep running.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}},{"code":"SEO_WEBSITE_EXECUTION_ROUTE_REQUIRED","when":"Website execution route required.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.websiteChanges.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWebsiteChangesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.work.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.work.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.work.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.work.create","description":"Start a manual or Flow-delegated SEO work loop with explicit scope, budget, evidence rules, and optional recurring Flow review. The result's schedule is the stored recurring review (weekDay 1 = Monday) with its next run; describe that, not the requested arguments. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateInput"},"examples":{"Delegate ongoing SEO":{"summary":"Delegate ongoing SEO","value":{"goal":"Improve organic visibility for our service pages","control":"delegated","constraints":{"maxMonthlyCostCents":3000,"allowedOperationIds":[]},"scope":{"targetDomain":"example.com","keywordIds":[],"promptIds":[]}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateOutput"},"examples":{"Delegate ongoing SEO":{"summary":"Delegate ongoing SEO","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","createdByUserId":"12345678-1234-4234-8234-123456789abe","title":"Improve organic visibility","goal":"Measure and improve our service-page visibility","scope":{"targetDomain":"example.com","market":null,"keywordIds":[],"promptIds":[]},"constraints":{"maxMonthlyCostCents":3000,"allowedOperationIds":[],"currency":"EUR"},"control":"delegated","status":"active","revision":1,"nextAction":{"kind":"research","label":"Establish a baseline before making an SEO outcome claim.","operationIds":["marketing.seo.keywords.search","marketing.seo.domain.overview.get"]},"scheduledGoalId":null,"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastProgressAt":null,"schedule":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_WORK_SCHEDULE_REQUIRES_FLOW","when":"Recurring review requires delegated work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_UNAVAILABLE","when":"No authenticated human or Flow scheduler can own the recurring review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_FAILED","when":"Work was saved but recurring review setup failed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_WORK_SCHEDULE_REQUIRES_FLOW","when":"Recurring review requires delegated work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_UNAVAILABLE","when":"No authenticated human or Flow scheduler can own the recurring review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_FAILED","when":"Work was saved but recurring review setup failed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_WORK_SCHEDULE_REQUIRES_FLOW","when":"Recurring review requires delegated work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_UNAVAILABLE","when":"No authenticated human or Flow scheduler can own the recurring review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_FAILED","when":"Work was saved but recurring review setup failed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_WORK_SCHEDULE_REQUIRES_FLOW","when":"Recurring review requires delegated work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_UNAVAILABLE","when":"No authenticated human or Flow scheduler can own the recurring review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_FAILED","when":"Work was saved but recurring review setup failed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_WORK_SCHEDULE_REQUIRES_FLOW","when":"Recurring review requires delegated work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_UNAVAILABLE","when":"No authenticated human or Flow scheduler can own the recurring review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_FAILED","when":"Work was saved but recurring review setup failed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_WORK_SCHEDULE_REQUIRES_FLOW","when":"Recurring review requires delegated work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_UNAVAILABLE","when":"No authenticated human or Flow scheduler can own the recurring review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_FAILED","when":"Work was saved but recurring review setup failed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_WORK_SCHEDULE_REQUIRES_FLOW","when":"Recurring review requires delegated work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_UNAVAILABLE","when":"No authenticated human or Flow scheduler can own the recurring review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_FAILED","when":"Work was saved but recurring review setup failed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_WORK_SCHEDULE_REQUIRES_FLOW","when":"Recurring review requires delegated work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_UNAVAILABLE","when":"No authenticated human or Flow scheduler can own the recurring review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_FAILED","when":"Work was saved but recurring review setup failed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_WORK_SCHEDULE_REQUIRES_FLOW","when":"Recurring review requires delegated work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_UNAVAILABLE","when":"No authenticated human or Flow scheduler can own the recurring review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_FAILED","when":"Work was saved but recurring review setup failed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_WORK_SCHEDULE_REQUIRES_FLOW","when":"Recurring review requires delegated work.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_UNAVAILABLE","when":"No authenticated human or Flow scheduler can own the recurring review.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.create"}}},{"code":"SEO_FLOW_SCHEDULE_FAILED","when":"Work was saved but recurring review setup failed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.work.get":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.work.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.work.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.work.get","description":"Inspect the current SEO goal, authority, status, next action, stored Flow schedule (including its status and next run), activity, and evidence without changing autonomy. Describe the stored schedule in replies. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetInput"},"examples":{"Inspect work":{"summary":"Inspect work","value":{"workId":"12345678-1234-4234-8234-123456789abd"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetOutput"},"examples":{"Inspect work":{"summary":"Inspect work","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","createdByUserId":"12345678-1234-4234-8234-123456789abe","title":"Improve organic visibility","goal":"Measure and improve our service-page visibility","scope":{"targetDomain":"example.com","market":null,"keywordIds":[],"promptIds":[]},"constraints":{"maxMonthlyCostCents":3000,"allowedOperationIds":[],"currency":"EUR"},"control":"delegated","status":"active","revision":1,"nextAction":{"kind":"research","label":"Establish a baseline before making an SEO outcome claim.","operationIds":["marketing.seo.keywords.search","marketing.seo.domain.overview.get"]},"scheduledGoalId":null,"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastProgressAt":null,"schedule":null,"supportedActions":[{"kind":"keyword_research"},{"kind":"keyword_tracking"},{"kind":"domain_visibility_measurement"},{"kind":"serp_measurement"},{"kind":"backlink_measurement"},{"kind":"ai_visibility_measurement"},{"kind":"scheduled_monitoring"},{"kind":"generate_ai_readiness_files"},{"kind":"prepare_repository_change"},{"kind":"manage_index_coverage"}],"unsupportedActions":[{"kind":"build_or_request_backlinks"},{"kind":"claim_ranking_improvement_without_measurement"}],"events":[{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","type":"steered","actor":"user","actorUserId":"12345678-1234-4234-8234-123456789abe","operationId":"marketing.seo.work.update","summary":"Service-page focus updated.","data":{},"createdAt":"2026-10-13T10:00:00.000Z"}],"evidence":[],"activityNextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.get"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.work.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.work.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.work.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.work.list","description":"List persisted SEO work loops and their current autonomy status so Flow and manual UI share the same state. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListInput"},"examples":{"List active work":{"summary":"List active work","value":{"limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListOutput"},"examples":{"List active work":{"summary":"List active work","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","createdByUserId":"12345678-1234-4234-8234-123456789abe","title":"Improve organic visibility","goal":"Measure and improve our service-page visibility","scope":{"targetDomain":"example.com","market":null,"keywordIds":[],"promptIds":[]},"constraints":{"maxMonthlyCostCents":3000,"allowedOperationIds":[],"currency":"EUR"},"control":"delegated","status":"active","revision":1,"nextAction":{"kind":"research","label":"Establish a baseline before making an SEO outcome claim.","operationIds":["marketing.seo.keywords.search","marketing.seo.domain.overview.get"]},"scheduledGoalId":null,"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastProgressAt":null}],"nextCursor":null,"supportedActions":[{"kind":"keyword_research"},{"kind":"keyword_tracking"},{"kind":"domain_visibility_measurement"},{"kind":"serp_measurement"},{"kind":"backlink_measurement"},{"kind":"ai_visibility_measurement"},{"kind":"scheduled_monitoring"},{"kind":"generate_ai_readiness_files"},{"kind":"prepare_repository_change"},{"kind":"manage_index_coverage"}],"unsupportedActions":[{"kind":"build_or_request_backlinks"},{"kind":"claim_ranking_improvement_without_measurement"}]}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.list"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.work.update":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.work.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.work.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.work.update","description":"Explicitly steer, pause, resume, complete, redirect, block, or take over a persisted SEO work loop with revision checks; manual takeover pauses Flow scheduling. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateInput"},"examples":{"Pause Flow":{"summary":"Pause Flow","value":{"workId":"12345678-1234-4234-8234-123456789abd","expectedRevision":1,"status":"paused","summary":"Pause while we review the site changes."}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateOutput"},"examples":{"Pause Flow":{"summary":"Pause Flow","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","createdByUserId":"12345678-1234-4234-8234-123456789abe","title":"Improve organic visibility","goal":"Measure and improve our service-page visibility","scope":{"targetDomain":"example.com","market":null,"keywordIds":[],"promptIds":[]},"constraints":{"maxMonthlyCostCents":3000,"allowedOperationIds":[],"currency":"EUR"},"control":"delegated","status":"active","revision":2,"nextAction":{"kind":"research","label":"Establish a baseline before making an SEO outcome claim.","operationIds":["marketing.seo.keywords.search","marketing.seo.domain.overview.get"]},"scheduledGoalId":null,"createdAt":"2026-10-13T10:00:00.000Z","updatedAt":"2026-10-13T10:00:00.000Z","lastProgressAt":null,"event":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","type":"steered","actor":"user","actorUserId":"12345678-1234-4234-8234-123456789abe","operationId":"marketing.seo.work.update","summary":"Service-page focus updated.","data":{},"createdAt":"2026-10-13T10:00:00.000Z"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_FLOW_SCHEDULE_NOT_FOUND","when":"The linked recurring Flow review no longer exists.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_FLOW_SCHEDULE_NOT_FOUND","when":"The linked recurring Flow review no longer exists.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_FLOW_SCHEDULE_NOT_FOUND","when":"The linked recurring Flow review no longer exists.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_FLOW_SCHEDULE_NOT_FOUND","when":"The linked recurring Flow review no longer exists.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_FLOW_SCHEDULE_NOT_FOUND","when":"The linked recurring Flow review no longer exists.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_FLOW_SCHEDULE_NOT_FOUND","when":"The linked recurring Flow review no longer exists.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_FLOW_SCHEDULE_NOT_FOUND","when":"The linked recurring Flow review no longer exists.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_FLOW_SCHEDULE_NOT_FOUND","when":"The linked recurring Flow review no longer exists.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_FLOW_SCHEDULE_NOT_FOUND","when":"The linked recurring Flow review no longer exists.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.work.update"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_FLOW_SCHEDULE_NOT_FOUND","when":"The linked recurring Flow review no longer exists.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.workActivity.list":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.workActivity.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.workActivity.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.workActivity.list","description":"List the persisted Flow and manual activity trail plus executed-action evidence for one SEO work loop. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListInput"},"examples":{"Read activity":{"summary":"Read activity","value":{"workId":"12345678-1234-4234-8234-123456789abd","limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListOutput"},"examples":{"Read activity":{"summary":"Read activity","value":{"items":[{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","type":"steered","actor":"user","actorUserId":"12345678-1234-4234-8234-123456789abe","operationId":"marketing.seo.work.update","summary":"Service-page focus updated.","data":{},"createdAt":"2026-10-13T10:00:00.000Z"}],"evidence":[{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","eventId":"12345678-1234-4234-8234-123456789abd","sourceOperationId":"marketing.seo.domain.overview.get","kind":"measurement","executed":true,"claim":"unchanged","summary":"Organic visibility baseline recorded.","observations":[{"metric":"visibility","baselineValue":10,"currentValue":10,"targetValue":null,"unit":"score"}],"recordedAt":"2026-10-13T10:00:00.000Z"}],"nextCursor":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workActivity.list"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkActivityListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/marketing.seo.workEvidence.create":{"post":{"tags":["Operations: marketing.seo"],"operationId":"marketing.seo.workEvidence.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"marketing.seo.workEvidence.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"marketing.seo.workEvidence.create","description":"Record a bounded SEO action or measurement and reject improvement claims that lack an executed action and baseline/current measurements. Price rule: cached reads cost zero; provider calls stay within the declared boundary and record billed cost.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateInput"},"examples":{"Record measurement":{"summary":"Record measurement","value":{"workId":"12345678-1234-4234-8234-123456789abd","expectedRevision":1,"sourceOperationId":"marketing.seo.domain.overview.get","kind":"measurement","executed":true,"claim":"unchanged","summary":"Visibility baseline recorded.","observations":[{"metric":"organic_visibility","baselineValue":10,"currentValue":10,"unit":"score"}]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateOutput"},"examples":{"Record measurement":{"summary":"Record measurement","value":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","eventId":"12345678-1234-4234-8234-123456789abd","sourceOperationId":"marketing.seo.domain.overview.get","kind":"measurement","executed":true,"claim":"unchanged","summary":"Organic visibility baseline recorded.","observations":[{"metric":"visibility","baselineValue":10,"currentValue":10,"targetValue":null,"unit":"score"}],"recordedAt":"2026-10-13T10:00:00.000Z","event":{"id":"12345678-1234-4234-8234-123456789abd","accountId":"12345678-1234-4234-8234-123456789abc","workId":"12345678-1234-4234-8234-123456789abd","type":"steered","actor":"user","actorUserId":"12345678-1234-4234-8234-123456789abe","operationId":"marketing.seo.work.update","summary":"Service-page focus updated.","data":{},"createdAt":"2026-10-13T10:00:00.000Z"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_EVIDENCE_OPERATION_INVALID","when":"The evidence source is not an SEO operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_EVIDENCE_INVALID","when":"The claimed outcome lacks executed work or comparable observations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_EVIDENCE_OPERATION_INVALID","when":"The evidence source is not an SEO operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_EVIDENCE_INVALID","when":"The claimed outcome lacks executed work or comparable observations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_EVIDENCE_OPERATION_INVALID","when":"The evidence source is not an SEO operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_EVIDENCE_INVALID","when":"The claimed outcome lacks executed work or comparable observations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_EVIDENCE_OPERATION_INVALID","when":"The evidence source is not an SEO operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_EVIDENCE_INVALID","when":"The claimed outcome lacks executed work or comparable observations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_EVIDENCE_OPERATION_INVALID","when":"The evidence source is not an SEO operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_EVIDENCE_INVALID","when":"The claimed outcome lacks executed work or comparable observations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_EVIDENCE_OPERATION_INVALID","when":"The evidence source is not an SEO operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_EVIDENCE_INVALID","when":"The claimed outcome lacks executed work or comparable observations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_EVIDENCE_OPERATION_INVALID","when":"The evidence source is not an SEO operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_EVIDENCE_INVALID","when":"The claimed outcome lacks executed work or comparable observations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_EVIDENCE_OPERATION_INVALID","when":"The evidence source is not an SEO operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_EVIDENCE_INVALID","when":"The claimed outcome lacks executed work or comparable observations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_EVIDENCE_OPERATION_INVALID","when":"The evidence source is not an SEO operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_EVIDENCE_INVALID","when":"The claimed outcome lacks executed work or comparable observations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SEO_WORK_UNAVAILABLE","when":"Durable work storage is not configured; retry after service recovery.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_WORK_NOT_FOUND","when":"The work does not exist in the credential tenant.","recovery":{"operation":"marketing.seo.work.list"}},{"code":"SEO_WORK_MANUAL_CONTROL","when":"Flow cannot change manual or paused work.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_WORK_CONFLICT","when":"The revision or delegated authority changed.","recovery":{"operation":"marketing.seo.work.get","requiredFields":["workId"]}},{"code":"SEO_EVIDENCE_OPERATION_INVALID","when":"The evidence source is not an SEO operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}},{"code":"SEO_EVIDENCE_INVALID","when":"The claimed outcome lacks executed work or comparable observations.","recovery":{"operation":"operations.discovery.get","args":{"id":"marketing.seo.workEvidence.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMarketingSeoWorkEvidenceCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.analysis.estimate":{"post":{"tags":["Operations: media"],"operationId":"media.analysis.estimate","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.analysis.estimate","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"media.analysis.estimate","description":"Estimate bounded scene and timed-caption analysis with exact source-version and spend metadata.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateInput"},"examples":{"Estimate footage analysis and caption evidence cost.":{"summary":"Estimate footage analysis and caption evidence cost.","value":{"assetId":"22345678-1234-4234-8234-123456789abd"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.analysis.evidence.get":{"post":{"tags":["Operations: media"],"operationId":"media.analysis.evidence.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.analysis.evidence.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"media.analysis.evidence.get","description":"Read provider-neutral scene and timed transcript evidence cached for one exact media source version.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetInput"},"examples":{"Read cached timed media analysis evidence by immutable source version.":{"summary":"Read cached timed media analysis evidence by immutable source version.","value":{"assetId":"22345678-1234-4234-8234-123456789abd","sourceVersion":"media-source-revision-2026-09","analysisVersion":"media-analysis-v1"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_SOURCE_VERSION_STALE","when":"Requested evidence targets an older immutable source version.","recovery":{"operation":"media.assets.get","requiredFields":["assetId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_SOURCE_VERSION_STALE","when":"Requested evidence targets an older immutable source version.","recovery":{"operation":"media.assets.get","requiredFields":["assetId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_SOURCE_VERSION_STALE","when":"Requested evidence targets an older immutable source version.","recovery":{"operation":"media.assets.get","requiredFields":["assetId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_SOURCE_VERSION_STALE","when":"Requested evidence targets an older immutable source version.","recovery":{"operation":"media.assets.get","requiredFields":["assetId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_SOURCE_VERSION_STALE","when":"Requested evidence targets an older immutable source version.","recovery":{"operation":"media.assets.get","requiredFields":["assetId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_SOURCE_VERSION_STALE","when":"Requested evidence targets an older immutable source version.","recovery":{"operation":"media.assets.get","requiredFields":["assetId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_SOURCE_VERSION_STALE","when":"Requested evidence targets an older immutable source version.","recovery":{"operation":"media.assets.get","requiredFields":["assetId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_SOURCE_VERSION_STALE","when":"Requested evidence targets an older immutable source version.","recovery":{"operation":"media.assets.get","requiredFields":["assetId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.evidence.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_SOURCE_VERSION_STALE","when":"Requested evidence targets an older immutable source version.","recovery":{"operation":"media.assets.get","requiredFields":["assetId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisEvidenceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.analysis.get":{"post":{"tags":["Operations: media"],"operationId":"media.analysis.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.analysis.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"media.analysis.get","description":"Read structured scene and timed transcript evidence for one source version.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisGetInput"},"examples":{"Read bounded scene and transcript evidence.":{"summary":"Read bounded scene and transcript evidence.","value":{"analysisId":"62345678-1234-4234-8234-123456789ac1"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.analysis.start":{"post":{"tags":["Operations: media"],"operationId":"media.analysis.start","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.analysis.start","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"summary":"media.analysis.start","description":"Start a durable bounded analysis job for one immutable media source version.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartInput"},"examples":{"Start bounded scene and timed-caption analysis.":{"summary":"Start bounded scene and timed-caption analysis.","value":{"assetId":"22345678-1234-4234-8234-123456789abd","quote":{"quoteId":"52345678-1234-4234-8234-123456789ac0","inputFingerprint":"media-input-fingerprint-2026","revisionFingerprint":"media-revision-fingerprint-2026","pricingVersion":"media-pricing-2026-09","spendDomain":"none","estimatedMicroEuros":0,"estimatedCents":0,"currency":"EUR","expiresAt":"2026-10-01T12:00:00.000Z","reservedAt":null,"settledAt":null}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_CONCURRENCY_LIMIT","when":"The account already has the maximum two processing jobs in progress.","recovery":{"operation":"media.jobs.get","requiredFields":["jobId"]}},{"code":"MEDIA_QUOTE_STALE","when":"The issued quote expired or no longer matches the exact inputs and immutable source versions.","recovery":{"operation":"media.analysis.estimate","requiredFields":["assetId"]}},{"code":"MEDIA_AI_USAGE_UNAVAILABLE","when":"The account has insufficient included AI usage for the media reservation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The AI usage reservation port refused the quoted hold. Billing supplies the runtime recovery: configure disabled auto-top-up, inspect capped/cooling/pending/in-flight/requires-action attempts, otherwise top up usage.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability. The AI reservation cannot resolve an active account pricing plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_CONCURRENCY_LIMIT","when":"The account already has the maximum two processing jobs in progress.","recovery":{"operation":"media.jobs.get","requiredFields":["jobId"]}},{"code":"MEDIA_QUOTE_STALE","when":"The issued quote expired or no longer matches the exact inputs and immutable source versions.","recovery":{"operation":"media.analysis.estimate","requiredFields":["assetId"]}},{"code":"MEDIA_AI_USAGE_UNAVAILABLE","when":"The account has insufficient included AI usage for the media reservation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The AI usage reservation port refused the quoted hold. Billing supplies the runtime recovery: configure disabled auto-top-up, inspect capped/cooling/pending/in-flight/requires-action attempts, otherwise top up usage.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability. The AI reservation cannot resolve an active account pricing plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_CONCURRENCY_LIMIT","when":"The account already has the maximum two processing jobs in progress.","recovery":{"operation":"media.jobs.get","requiredFields":["jobId"]}},{"code":"MEDIA_QUOTE_STALE","when":"The issued quote expired or no longer matches the exact inputs and immutable source versions.","recovery":{"operation":"media.analysis.estimate","requiredFields":["assetId"]}},{"code":"MEDIA_AI_USAGE_UNAVAILABLE","when":"The account has insufficient included AI usage for the media reservation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The AI usage reservation port refused the quoted hold. Billing supplies the runtime recovery: configure disabled auto-top-up, inspect capped/cooling/pending/in-flight/requires-action attempts, otherwise top up usage.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability. The AI reservation cannot resolve an active account pricing plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_CONCURRENCY_LIMIT","when":"The account already has the maximum two processing jobs in progress.","recovery":{"operation":"media.jobs.get","requiredFields":["jobId"]}},{"code":"MEDIA_QUOTE_STALE","when":"The issued quote expired or no longer matches the exact inputs and immutable source versions.","recovery":{"operation":"media.analysis.estimate","requiredFields":["assetId"]}},{"code":"MEDIA_AI_USAGE_UNAVAILABLE","when":"The account has insufficient included AI usage for the media reservation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The AI usage reservation port refused the quoted hold. Billing supplies the runtime recovery: configure disabled auto-top-up, inspect capped/cooling/pending/in-flight/requires-action attempts, otherwise top up usage.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability. The AI reservation cannot resolve an active account pricing plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_CONCURRENCY_LIMIT","when":"The account already has the maximum two processing jobs in progress.","recovery":{"operation":"media.jobs.get","requiredFields":["jobId"]}},{"code":"MEDIA_QUOTE_STALE","when":"The issued quote expired or no longer matches the exact inputs and immutable source versions.","recovery":{"operation":"media.analysis.estimate","requiredFields":["assetId"]}},{"code":"MEDIA_AI_USAGE_UNAVAILABLE","when":"The account has insufficient included AI usage for the media reservation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The AI usage reservation port refused the quoted hold. Billing supplies the runtime recovery: configure disabled auto-top-up, inspect capped/cooling/pending/in-flight/requires-action attempts, otherwise top up usage.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability. The AI reservation cannot resolve an active account pricing plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_CONCURRENCY_LIMIT","when":"The account already has the maximum two processing jobs in progress.","recovery":{"operation":"media.jobs.get","requiredFields":["jobId"]}},{"code":"MEDIA_QUOTE_STALE","when":"The issued quote expired or no longer matches the exact inputs and immutable source versions.","recovery":{"operation":"media.analysis.estimate","requiredFields":["assetId"]}},{"code":"MEDIA_AI_USAGE_UNAVAILABLE","when":"The account has insufficient included AI usage for the media reservation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The AI usage reservation port refused the quoted hold. Billing supplies the runtime recovery: configure disabled auto-top-up, inspect capped/cooling/pending/in-flight/requires-action attempts, otherwise top up usage.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability. The AI reservation cannot resolve an active account pricing plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_CONCURRENCY_LIMIT","when":"The account already has the maximum two processing jobs in progress.","recovery":{"operation":"media.jobs.get","requiredFields":["jobId"]}},{"code":"MEDIA_QUOTE_STALE","when":"The issued quote expired or no longer matches the exact inputs and immutable source versions.","recovery":{"operation":"media.analysis.estimate","requiredFields":["assetId"]}},{"code":"MEDIA_AI_USAGE_UNAVAILABLE","when":"The account has insufficient included AI usage for the media reservation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The AI usage reservation port refused the quoted hold. Billing supplies the runtime recovery: configure disabled auto-top-up, inspect capped/cooling/pending/in-flight/requires-action attempts, otherwise top up usage.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability. The AI reservation cannot resolve an active account pricing plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_CONCURRENCY_LIMIT","when":"The account already has the maximum two processing jobs in progress.","recovery":{"operation":"media.jobs.get","requiredFields":["jobId"]}},{"code":"MEDIA_QUOTE_STALE","when":"The issued quote expired or no longer matches the exact inputs and immutable source versions.","recovery":{"operation":"media.analysis.estimate","requiredFields":["assetId"]}},{"code":"MEDIA_AI_USAGE_UNAVAILABLE","when":"The account has insufficient included AI usage for the media reservation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The AI usage reservation port refused the quoted hold. Billing supplies the runtime recovery: configure disabled auto-top-up, inspect capped/cooling/pending/in-flight/requires-action attempts, otherwise top up usage.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability. The AI reservation cannot resolve an active account pricing plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_CONCURRENCY_LIMIT","when":"The account already has the maximum two processing jobs in progress.","recovery":{"operation":"media.jobs.get","requiredFields":["jobId"]}},{"code":"MEDIA_QUOTE_STALE","when":"The issued quote expired or no longer matches the exact inputs and immutable source versions.","recovery":{"operation":"media.analysis.estimate","requiredFields":["assetId"]}},{"code":"MEDIA_AI_USAGE_UNAVAILABLE","when":"The account has insufficient included AI usage for the media reservation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The AI usage reservation port refused the quoted hold. Billing supplies the runtime recovery: configure disabled auto-top-up, inspect capped/cooling/pending/in-flight/requires-action attempts, otherwise top up usage.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability. The AI reservation cannot resolve an active account pricing plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_CONCURRENCY_LIMIT","when":"The account already has the maximum two processing jobs in progress.","recovery":{"operation":"media.jobs.get","requiredFields":["jobId"]}},{"code":"MEDIA_QUOTE_STALE","when":"The issued quote expired or no longer matches the exact inputs and immutable source versions.","recovery":{"operation":"media.analysis.estimate","requiredFields":["assetId"]}},{"code":"MEDIA_AI_USAGE_UNAVAILABLE","when":"The account has insufficient included AI usage for the media reservation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.analysis.start"}}},{"code":"AI_QUOTA_EXCEEDED","when":"The AI usage reservation port refused the quoted hold. Billing supplies the runtime recovery: configure disabled auto-top-up, inspect capped/cooling/pending/in-flight/requires-action attempts, otherwise top up usage.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability. The AI reservation cannot resolve an active account pricing plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAnalysisStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.assets.archive":{"post":{"tags":["Operations: media"],"operationId":"media.assets.archive","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.assets.archive","summary":"media.assets.archive","description":"Archive a private media asset.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveInput"},"examples":{"Archive a private media asset.":{"summary":"Archive a private media asset.","value":{"assetId":"22345678-1234-4234-8234-123456789abd"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.assets.create":{"post":{"tags":["Operations: media"],"operationId":"media.assets.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.assets.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"media.assets.create","description":"Registers an already-owned Moreflow storage object as a media asset. Upload bytes through the canonical storage upload operations first.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateInput"},"examples":{"Register an uploaded or generated media asset in the private media library.":{"summary":"Register an uploaded or generated media asset in the private media library.","value":{"storageObjectId":"storage-object-media-2026-01","sourceKind":"upload","contentType":"video/mp4","byteSize":9437184,"finalized":true,"title":"Product update footage"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_ASSET_INVALID","when":"The uploaded asset cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_ASSET_NOT_FOUND","when":"A source asset or finalized storage object is unavailable to this account.","recovery":{"operation":"media.assets.list"}},{"code":"MEDIA_CONTENT_TYPE_UNSUPPORTED","when":"The media MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_DURATION_LIMIT","when":"A source or aggregate sources exceed twenty minutes.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_STORAGE_REFERENCE_REQUIRED","when":"Uploaded media does not reference a finalized private storage object.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_NOT_FINALIZED","when":"The source upload has not been finalized.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_ASSET_INVALID","when":"The uploaded asset cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_ASSET_NOT_FOUND","when":"A source asset or finalized storage object is unavailable to this account.","recovery":{"operation":"media.assets.list"}},{"code":"MEDIA_CONTENT_TYPE_UNSUPPORTED","when":"The media MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_DURATION_LIMIT","when":"A source or aggregate sources exceed twenty minutes.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_STORAGE_REFERENCE_REQUIRED","when":"Uploaded media does not reference a finalized private storage object.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_NOT_FINALIZED","when":"The source upload has not been finalized.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_ASSET_INVALID","when":"The uploaded asset cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_ASSET_NOT_FOUND","when":"A source asset or finalized storage object is unavailable to this account.","recovery":{"operation":"media.assets.list"}},{"code":"MEDIA_CONTENT_TYPE_UNSUPPORTED","when":"The media MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_DURATION_LIMIT","when":"A source or aggregate sources exceed twenty minutes.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_STORAGE_REFERENCE_REQUIRED","when":"Uploaded media does not reference a finalized private storage object.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_NOT_FINALIZED","when":"The source upload has not been finalized.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_ASSET_INVALID","when":"The uploaded asset cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_ASSET_NOT_FOUND","when":"A source asset or finalized storage object is unavailable to this account.","recovery":{"operation":"media.assets.list"}},{"code":"MEDIA_CONTENT_TYPE_UNSUPPORTED","when":"The media MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_DURATION_LIMIT","when":"A source or aggregate sources exceed twenty minutes.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_STORAGE_REFERENCE_REQUIRED","when":"Uploaded media does not reference a finalized private storage object.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_NOT_FINALIZED","when":"The source upload has not been finalized.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_ASSET_INVALID","when":"The uploaded asset cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_ASSET_NOT_FOUND","when":"A source asset or finalized storage object is unavailable to this account.","recovery":{"operation":"media.assets.list"}},{"code":"MEDIA_CONTENT_TYPE_UNSUPPORTED","when":"The media MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_DURATION_LIMIT","when":"A source or aggregate sources exceed twenty minutes.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_STORAGE_REFERENCE_REQUIRED","when":"Uploaded media does not reference a finalized private storage object.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_NOT_FINALIZED","when":"The source upload has not been finalized.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_ASSET_INVALID","when":"The uploaded asset cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_ASSET_NOT_FOUND","when":"A source asset or finalized storage object is unavailable to this account.","recovery":{"operation":"media.assets.list"}},{"code":"MEDIA_CONTENT_TYPE_UNSUPPORTED","when":"The media MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_DURATION_LIMIT","when":"A source or aggregate sources exceed twenty minutes.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_STORAGE_REFERENCE_REQUIRED","when":"Uploaded media does not reference a finalized private storage object.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_NOT_FINALIZED","when":"The source upload has not been finalized.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_ASSET_INVALID","when":"The uploaded asset cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_ASSET_NOT_FOUND","when":"A source asset or finalized storage object is unavailable to this account.","recovery":{"operation":"media.assets.list"}},{"code":"MEDIA_CONTENT_TYPE_UNSUPPORTED","when":"The media MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_DURATION_LIMIT","when":"A source or aggregate sources exceed twenty minutes.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_STORAGE_REFERENCE_REQUIRED","when":"Uploaded media does not reference a finalized private storage object.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_NOT_FINALIZED","when":"The source upload has not been finalized.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_ASSET_INVALID","when":"The uploaded asset cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_ASSET_NOT_FOUND","when":"A source asset or finalized storage object is unavailable to this account.","recovery":{"operation":"media.assets.list"}},{"code":"MEDIA_CONTENT_TYPE_UNSUPPORTED","when":"The media MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_DURATION_LIMIT","when":"A source or aggregate sources exceed twenty minutes.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_STORAGE_REFERENCE_REQUIRED","when":"Uploaded media does not reference a finalized private storage object.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_NOT_FINALIZED","when":"The source upload has not been finalized.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_ASSET_INVALID","when":"The uploaded asset cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_ASSET_NOT_FOUND","when":"A source asset or finalized storage object is unavailable to this account.","recovery":{"operation":"media.assets.list"}},{"code":"MEDIA_CONTENT_TYPE_UNSUPPORTED","when":"The media MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_DURATION_LIMIT","when":"A source or aggregate sources exceed twenty minutes.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_STORAGE_REFERENCE_REQUIRED","when":"Uploaded media does not reference a finalized private storage object.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_NOT_FINALIZED","when":"The source upload has not been finalized.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_ASSET_INVALID","when":"The uploaded asset cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_ASSET_NOT_FOUND","when":"A source asset or finalized storage object is unavailable to this account.","recovery":{"operation":"media.assets.list"}},{"code":"MEDIA_CONTENT_TYPE_UNSUPPORTED","when":"The media MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_DURATION_LIMIT","when":"A source or aggregate sources exceed twenty minutes.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_STORAGE_REFERENCE_REQUIRED","when":"Uploaded media does not reference a finalized private storage object.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}},{"code":"MEDIA_NOT_FINALIZED","when":"The source upload has not been finalized.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.assets.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.assets.get":{"post":{"tags":["Operations: media"],"operationId":"media.assets.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.assets.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"media.assets.get","description":"Read one private media asset and its immutable source metadata.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsGetInput"},"examples":{"Get a private media asset.":{"summary":"Get a private media asset.","value":{"assetId":"22345678-1234-4234-8234-123456789abd"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.assets.list":{"post":{"tags":["Operations: media"],"operationId":"media.assets.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.assets.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"media.assets.list","description":"List the account's private media assets, optionally narrowed to one source kind or the Flow run that generated them. Generated assets carry sourceRunId, sourceOperationId, and variantIndex.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsListInput"},"examples":{"List private media assets.":{"summary":"List private media assets.","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.assets.playbackUrl.batchGet":{"post":{"tags":["Operations: media"],"operationId":"media.assets.playbackUrl.batchGet","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.assets.playbackUrl.batchGet","summary":"media.assets.playbackUrl.batchGet","description":"Returns one item per requested asset id, in request order. Each item carries its own url and expiresAt, or an error with code NOT_FOUND when the asset is missing or not active and PROVIDER_ERROR when its URL could not be resolved. Accepts up to 100 asset ids and requires membership in the account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetInput"},"examples":{"Resolve short-lived private media playback URLs for a set of assets in one call.":{"summary":"Resolve short-lived private media playback URLs for a set of assets in one call.","value":{"assetIds":["22345678-1234-4234-8234-123456789abd"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.assets.playbackUrl.get":{"post":{"tags":["Operations: media"],"operationId":"media.assets.playbackUrl.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.assets.playbackUrl.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"media.assets.playbackUrl.get","description":"Resolve a short-lived playback URL for a private media asset without exposing durable storage keys.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetInput"},"examples":{"Resolve a short-lived private media playback URL.":{"summary":"Resolve a short-lived private media playback URL.","value":{"assetId":"22345678-1234-4234-8234-123456789abd","fileName":"product-update.mp4"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaAssetsPlaybackUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.jobs.cancel":{"post":{"tags":["Operations: media"],"operationId":"media.jobs.cancel","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.jobs.cancel","summary":"media.jobs.cancel","description":"Cancel a queued or running media job.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelInput"},"examples":{"Cancel a queued or running media job.":{"summary":"Cancel a queued or running media job.","value":{"jobId":"92345678-1234-4234-8234-123456789ac4"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.jobs.get":{"post":{"tags":["Operations: media"],"operationId":"media.jobs.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.jobs.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"media.jobs.get","description":"Read a durable media job handle and bounded progress state.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsGetInput"},"examples":{"Read a durable media job handle.":{"summary":"Read a durable media job handle.","value":{"jobId":"92345678-1234-4234-8234-123456789ac4"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.jobs.reconcile":{"post":{"tags":["Operations: media"],"operationId":"media.jobs.reconcile","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.jobs.reconcile","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"summary":"media.jobs.reconcile","description":"Reconcile a media job idempotently after reconnect, restart, or worker completion.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileInput"},"examples":{"Reconcile a durable media job after reconnect or worker restart.":{"summary":"Reconcile a durable media job after reconnect or worker restart.","value":{"jobId":"92345678-1234-4234-8234-123456789ac4"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaJobsReconcileError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.uploadSessions.cancel":{"post":{"tags":["Operations: media"],"operationId":"media.uploadSessions.cancel","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.uploadSessions.cancel","summary":"media.uploadSessions.cancel","description":"Abort a resumable media upload session.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelInput"},"examples":{"Abort a resumable media upload session.":{"summary":"Abort a resumable media upload session.","value":{"uploadSessionId":"a2345678-1234-4234-8234-123456789ac5"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.cancel"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.uploadSessions.complete":{"post":{"tags":["Operations: media"],"operationId":"media.uploadSessions.complete","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.uploadSessions.complete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"summary":"media.uploadSessions.complete","description":"Complete a private resumable media upload without exposing provider credentials.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteInput"},"examples":{"Complete a resumable media upload after every part is present.":{"summary":"Complete a resumable media upload after every part is present.","value":{"uploadSessionId":"a2345678-1234-4234-8234-123456789ac5"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_COMPLETE_FAILED","when":"Managed storage could not finish the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_INCOMPLETE","when":"The recorded parts do not form a complete contiguous upload with the declared size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_COMPLETE_FAILED","when":"Managed storage could not finish the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_INCOMPLETE","when":"The recorded parts do not form a complete contiguous upload with the declared size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_COMPLETE_FAILED","when":"Managed storage could not finish the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_INCOMPLETE","when":"The recorded parts do not form a complete contiguous upload with the declared size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_COMPLETE_FAILED","when":"Managed storage could not finish the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_INCOMPLETE","when":"The recorded parts do not form a complete contiguous upload with the declared size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_COMPLETE_FAILED","when":"Managed storage could not finish the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_INCOMPLETE","when":"The recorded parts do not form a complete contiguous upload with the declared size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_COMPLETE_FAILED","when":"Managed storage could not finish the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_INCOMPLETE","when":"The recorded parts do not form a complete contiguous upload with the declared size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_COMPLETE_FAILED","when":"Managed storage could not finish the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_INCOMPLETE","when":"The recorded parts do not form a complete contiguous upload with the declared size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_COMPLETE_FAILED","when":"Managed storage could not finish the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_INCOMPLETE","when":"The recorded parts do not form a complete contiguous upload with the declared size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_COMPLETE_FAILED","when":"Managed storage could not finish the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_INCOMPLETE","when":"The recorded parts do not form a complete contiguous upload with the declared size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_COMPLETE_FAILED","when":"Managed storage could not finish the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_INCOMPLETE","when":"The recorded parts do not form a complete contiguous upload with the declared size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.complete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.uploadSessions.part.complete":{"post":{"tags":["Operations: media"],"operationId":"media.uploadSessions.part.complete","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.uploadSessions.part.complete","summary":"media.uploadSessions.part.complete","description":"Record one completed resumable media upload part.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteInput"},"examples":{"Record one completed resumable media upload part.":{"summary":"Record one completed resumable media upload part.","value":{"uploadSessionId":"a2345678-1234-4234-8234-123456789ac5","partNumber":1,"etag":"upload-part-1-etag","byteSize":5242880}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"MEDIA_UPLOAD_SIZE_MISMATCH","when":"Recorded part sizes exceed the declared upload size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"MEDIA_UPLOAD_SIZE_MISMATCH","when":"Recorded part sizes exceed the declared upload size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"MEDIA_UPLOAD_SIZE_MISMATCH","when":"Recorded part sizes exceed the declared upload size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"MEDIA_UPLOAD_SIZE_MISMATCH","when":"Recorded part sizes exceed the declared upload size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"MEDIA_UPLOAD_SIZE_MISMATCH","when":"Recorded part sizes exceed the declared upload size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"MEDIA_UPLOAD_SIZE_MISMATCH","when":"Recorded part sizes exceed the declared upload size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"MEDIA_UPLOAD_SIZE_MISMATCH","when":"Recorded part sizes exceed the declared upload size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"MEDIA_UPLOAD_SIZE_MISMATCH","when":"Recorded part sizes exceed the declared upload size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"MEDIA_UPLOAD_SIZE_MISMATCH","when":"Recorded part sizes exceed the declared upload size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.part.complete"}}},{"code":"MEDIA_UPLOAD_SIZE_MISMATCH","when":"Recorded part sizes exceed the declared upload size.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartCompleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.uploadSessions.partUrls.create":{"post":{"tags":["Operations: media"],"operationId":"media.uploadSessions.partUrls.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.uploadSessions.partUrls.create","summary":"media.uploadSessions.partUrls.create","description":"Create short-lived URLs for resumable media upload parts.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateInput"},"examples":{"Create short-lived URLs for resumable media upload parts.":{"summary":"Create short-lived URLs for resumable media upload parts.","value":{"uploadSessionId":"a2345678-1234-4234-8234-123456789ac5","partNumbers":[1,2]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_PRESIGN_FAILED","when":"Managed storage could not sign the requested upload part URLs.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_PRESIGN_FAILED","when":"Managed storage could not sign the requested upload part URLs.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_PRESIGN_FAILED","when":"Managed storage could not sign the requested upload part URLs.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_PRESIGN_FAILED","when":"Managed storage could not sign the requested upload part URLs.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_PRESIGN_FAILED","when":"Managed storage could not sign the requested upload part URLs.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_PRESIGN_FAILED","when":"Managed storage could not sign the requested upload part URLs.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_PRESIGN_FAILED","when":"Managed storage could not sign the requested upload part URLs.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_PRESIGN_FAILED","when":"Managed storage could not sign the requested upload part URLs.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_PRESIGN_FAILED","when":"Managed storage could not sign the requested upload part URLs.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_PART_INVALID","when":"A part number or size is outside the declared upload contract.","recovery":{"operation":"media.uploadSessions.status.get","requiredFields":["uploadSessionId"]}},{"code":"MEDIA_UPLOAD_PRESIGN_FAILED","when":"Managed storage could not sign the requested upload part URLs.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_SESSION_CLOSED","when":"The upload has expired or its lifecycle no longer accepts this action.","recovery":{"operation":"media.uploadSessions.start","requiredFields":["contentType","byteSize"]}},{"code":"MEDIA_UPLOAD_SESSION_NOT_FOUND","when":"The resumable upload session is unavailable to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.partUrls.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsPartUrlsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.uploadSessions.start":{"post":{"tags":["Operations: media"],"operationId":"media.uploadSessions.start","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.uploadSessions.start","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"summary":"media.uploadSessions.start","description":"Creates only a bounded server-owned upload session. Provider credentials and object-store keys remain behind the injected storage adapter.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartInput"},"examples":{"Begin a resumable private media upload session.":{"summary":"Begin a resumable private media upload session.","value":{"contentType":"video/mp4","byteSize":9437184,"partSize":5242880}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_BEGIN_FAILED","when":"Managed storage could not start the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TYPE_UNSUPPORTED","when":"The upload MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_INVALID","when":"The resumable upload cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_BEGIN_FAILED","when":"Managed storage could not start the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TYPE_UNSUPPORTED","when":"The upload MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_INVALID","when":"The resumable upload cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_BEGIN_FAILED","when":"Managed storage could not start the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TYPE_UNSUPPORTED","when":"The upload MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_INVALID","when":"The resumable upload cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_BEGIN_FAILED","when":"Managed storage could not start the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TYPE_UNSUPPORTED","when":"The upload MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_INVALID","when":"The resumable upload cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_BEGIN_FAILED","when":"Managed storage could not start the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TYPE_UNSUPPORTED","when":"The upload MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_INVALID","when":"The resumable upload cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_BEGIN_FAILED","when":"Managed storage could not start the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TYPE_UNSUPPORTED","when":"The upload MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_INVALID","when":"The resumable upload cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_BEGIN_FAILED","when":"Managed storage could not start the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TYPE_UNSUPPORTED","when":"The upload MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_INVALID","when":"The resumable upload cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_BEGIN_FAILED","when":"Managed storage could not start the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TYPE_UNSUPPORTED","when":"The upload MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_INVALID","when":"The resumable upload cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_BEGIN_FAILED","when":"Managed storage could not start the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TYPE_UNSUPPORTED","when":"The upload MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_INVALID","when":"The resumable upload cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"MEDIA_UPLOAD_BEGIN_FAILED","when":"Managed storage could not start the resumable upload.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_CONTRACT_INVALID","when":"The managed storage adapter returned an invalid resumable upload contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_UNAVAILABLE","when":"Managed storage is not ready for the requested upload action.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TYPE_UNSUPPORTED","when":"The upload MIME type is unsupported.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_SIZE_INVALID","when":"The upload size is not a positive integer.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_TOO_LARGE","when":"The uploaded source exceeds 250 MiB.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}},{"code":"MEDIA_UPLOAD_INVALID","when":"The resumable upload cannot be validated.","recovery":{"operation":"operations.discovery.get","args":{"id":"media.uploadSessions.start"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/media.uploadSessions.status.get":{"post":{"tags":["Operations: media"],"operationId":"media.uploadSessions.status.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"media.uploadSessions.status.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"media.uploadSessions.status.get","description":"Read private resumable upload progress and completed parts.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetInput"},"examples":{"Read resumable media upload progress.":{"summary":"Read resumable media upload progress.","value":{"uploadSessionId":"a2345678-1234-4234-8234-123456789ac5"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMediaUploadSessionsStatusGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/meetings.availability.get":{"post":{"tags":["Operations: meetings"],"operationId":"meetings.availability.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"meetings.availability.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"meetings.availability.get","description":"Computes the free slots for the given meeting type on the given date (YYYY-MM-DD) from working hours, existing meetings, and connected calendar events. mode optimized returns a compact set of well-spaced slots, all returns every slot at the given interval; buffers and blockAllDayEvents tighten availability, and excludeMeetingId frees the slot of a meeting being rescheduled. Read-only; book a slot with the meeting create operation.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetInput"},"examples":{"Free slots for a 30-minute intro call":{"summary":"Free slots for a 30-minute intro call","value":{"meetingTypeId":"2c6e8a0b-4d1f-4b3e-a5c7-9e1f3a5b7c92","availabilityDate":"2026-09-16","mode":"optimized"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetOutput"},"examples":{"Free slots for a 30-minute intro call":{"summary":"Free slots for a 30-minute intro call","value":{"id":"60000000-0000-4000-8000-000000000001:2026-10-01","availabilityDate":"2026-10-01","timezone":"Europe/Berlin","slots":["09:00"],"degraded":false,"availabilitySources":{"externalCalendar":"not_required"},"availabilityWindows":1,"blockingMeetings":0,"blockingReservations":0,"blockingExternalEvents":0,"slotSeats":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.availability.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsAvailabilityGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/meetings.cancel":{"post":{"tags":["Operations: meetings"],"operationId":"meetings.cancel","x-moreflow-stability":"stable","x-moreflow-operation-id":"meetings.cancel","x-moreflow-agent":{"effect":"external_communication","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"meetings.cancel","description":"Sets the meeting to cancelled with the optional cancellationReason, deletes or cancels the provider calendar event, records a client activity, emits webhooks, and triggers automations. Guests are informed, so confirmation is always required; the only recovery is booking a new meeting with meetings.create.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelInput"},"examples":{"Cancel because the client postponed the project":{"summary":"Cancel because the client postponed the project","value":{"meetingId":"d2e4f6a8-0b1c-4d3e-8f5a-6b7c8d9e0f1a","cancellationReason":"Client postponed the project to Q1 2027."}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelOutput"},"examples":{"Cancel because the client postponed the project":{"summary":"Cancel because the client postponed the project","value":{"id":"50000000-0000-4000-8000-000000000001","accountId":"3f8b2c1d-6a4e-4b9f-9d2e-7c5a1b8e4f60","meetingTypeId":"60000000-0000-4000-8000-000000000001","calendarId":"70000000-0000-4000-8000-000000000001","clientId":null,"title":"Discovery call","status":"cancelled","startsAt":"2026-10-01T09:00:00.000Z","endsAt":"2026-10-01T09:30:00.000Z","timezone":"Europe/Berlin","locationType":"phone","guestEmail":null,"guestName":null,"cancellationReason":"Customer request","metadata":{},"createdAt":"2026-09-30T09:00:00.000Z","updatedAt":"2026-09-30T09:00:00.000Z","groupSessionId":null}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting does not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit cancellation.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed before cancellation could be saved.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting does not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit cancellation.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed before cancellation could be saved.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting does not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit cancellation.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed before cancellation could be saved.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting does not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit cancellation.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed before cancellation could be saved.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting does not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit cancellation.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed before cancellation could be saved.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting does not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit cancellation.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed before cancellation could be saved.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting does not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit cancellation.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed before cancellation could be saved.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting does not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit cancellation.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed before cancellation could be saved.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting does not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit cancellation.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed before cancellation could be saved.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting does not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit cancellation.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed before cancellation could be saved.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/meetings.create":{"post":{"tags":["Operations: meetings"],"operationId":"meetings.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"meetings.create","x-moreflow-agent":{"effect":"external_communication","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"meetings.create","description":"Creates a meeting of the given meetingTypeId from startsAt to endsAt (ISO 8601; omit endsAt to use the meeting type's current duration), optionally linked to a client, calendar, payment, or booking reservation, and returns the stored meeting plus the post-persist effects (calendar event, guest invitation, reminders, automation triggers). It contacts the calendar provider and the guest, so it always requires confirmation; undo it with meetings.cancel, which cannot recall invitations already delivered. A blocked client fails with CLIENT_BLOCKED (recovery clients.lifecycle.unblock) and a taken slot with CONFLICT reason slot_unavailable (recovery meetings.availability.get).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateInput"},"examples":{"Book a 45-minute onboarding call":{"summary":"Book a 45-minute onboarding call","value":{"meetingTypeId":"5b8c2d4e-6f7a-4b9c-8d1e-2f3a4b5c6d7e","clientId":"3f9a6b21-5c4d-4e8f-9a1b-6d2c7e8f9a0b","title":"Onboarding Nordlicht Consulting GmbH","startsAt":"2026-09-16T09:00:00.000Z","endsAt":"2026-09-16T09:45:00.000Z","timezone":"Europe/Berlin","locationType":"google_meet","guestEmail":"lena.fischer@example.com","guestName":"Lena Fischer"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateOutput"},"examples":{"Book a 45-minute onboarding call":{"summary":"Book a 45-minute onboarding call","value":{"id":"50000000-0000-4000-8000-000000000001","accountId":"3f8b2c1d-6a4e-4b9f-9d2e-7c5a1b8e4f60","meetingTypeId":"60000000-0000-4000-8000-000000000001","calendarId":"70000000-0000-4000-8000-000000000001","clientId":null,"title":"Discovery call","status":"scheduled","startsAt":"2026-10-01T09:00:00.000Z","endsAt":"2026-10-01T09:30:00.000Z","timezone":"Europe/Berlin","locationType":"phone","guestEmail":null,"guestName":null,"cancellationReason":null,"metadata":{},"createdAt":"2026-09-30T09:00:00.000Z","updatedAt":"2026-09-30T09:00:00.000Z","groupSessionId":null,"effects":{"clientStatus":"not_applicable","fahrplan":"not_applicable","bookingConfirmation":"not_applicable","internalBookingNotification":"not_applicable","activity":"completed","conversion":"completed","automation":"completed"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CLIENT_BLOCKED","when":"The requested CRM client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived or the meeting type or calendar cannot accept this booking.","recovery":{"operation":"meetingTypes.list"}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested client, meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}},{"code":"SESSION_FULL","when":"No seat remains at the requested group session start.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"CONFLICT","when":"A concurrent booking claimed the requested slot.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The calendar provider refused event creation.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CLIENT_BLOCKED","when":"The requested CRM client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived or the meeting type or calendar cannot accept this booking.","recovery":{"operation":"meetingTypes.list"}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested client, meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}},{"code":"SESSION_FULL","when":"No seat remains at the requested group session start.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"CONFLICT","when":"A concurrent booking claimed the requested slot.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The calendar provider refused event creation.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CLIENT_BLOCKED","when":"The requested CRM client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived or the meeting type or calendar cannot accept this booking.","recovery":{"operation":"meetingTypes.list"}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested client, meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}},{"code":"SESSION_FULL","when":"No seat remains at the requested group session start.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"CONFLICT","when":"A concurrent booking claimed the requested slot.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The calendar provider refused event creation.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CLIENT_BLOCKED","when":"The requested CRM client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived or the meeting type or calendar cannot accept this booking.","recovery":{"operation":"meetingTypes.list"}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested client, meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}},{"code":"SESSION_FULL","when":"No seat remains at the requested group session start.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"CONFLICT","when":"A concurrent booking claimed the requested slot.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The calendar provider refused event creation.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CLIENT_BLOCKED","when":"The requested CRM client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived or the meeting type or calendar cannot accept this booking.","recovery":{"operation":"meetingTypes.list"}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested client, meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}},{"code":"SESSION_FULL","when":"No seat remains at the requested group session start.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"CONFLICT","when":"A concurrent booking claimed the requested slot.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The calendar provider refused event creation.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CLIENT_BLOCKED","when":"The requested CRM client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived or the meeting type or calendar cannot accept this booking.","recovery":{"operation":"meetingTypes.list"}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested client, meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}},{"code":"SESSION_FULL","when":"No seat remains at the requested group session start.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"CONFLICT","when":"A concurrent booking claimed the requested slot.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The calendar provider refused event creation.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CLIENT_BLOCKED","when":"The requested CRM client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived or the meeting type or calendar cannot accept this booking.","recovery":{"operation":"meetingTypes.list"}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested client, meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}},{"code":"SESSION_FULL","when":"No seat remains at the requested group session start.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"CONFLICT","when":"A concurrent booking claimed the requested slot.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The calendar provider refused event creation.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CLIENT_BLOCKED","when":"The requested CRM client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived or the meeting type or calendar cannot accept this booking.","recovery":{"operation":"meetingTypes.list"}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested client, meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}},{"code":"SESSION_FULL","when":"No seat remains at the requested group session start.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"CONFLICT","when":"A concurrent booking claimed the requested slot.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The calendar provider refused event creation.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CLIENT_BLOCKED","when":"The requested CRM client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived or the meeting type or calendar cannot accept this booking.","recovery":{"operation":"meetingTypes.list"}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested client, meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}},{"code":"SESSION_FULL","when":"No seat remains at the requested group session start.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"CONFLICT","when":"A concurrent booking claimed the requested slot.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The calendar provider refused event creation.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"CLIENT_BLOCKED","when":"The requested CRM client is blocked.","recovery":{"operation":"clients.list"}},{"code":"INVALID_STATE","when":"The client is archived or the meeting type or calendar cannot accept this booking.","recovery":{"operation":"meetingTypes.list"}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested client, meeting type or calendar does not exist in this account.","recovery":{"operation":"meetingTypes.list"}},{"code":"SESSION_FULL","when":"No seat remains at the requested group session start.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"CONFLICT","when":"A concurrent booking claimed the requested slot.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The calendar provider refused event creation.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/meetings.list":{"post":{"tags":["Operations: meetings"],"operationId":"meetings.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"meetings.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"meetings.list","description":"Returns a page of meetings with their status, start and end time, meeting type, client, and calendar, plus the total match count. Narrow by startsAfter/endsBefore (or endsAfter/startsBefore for overlapping calendar events), one status (or excludeStatus), clientId, hostUserId (calendar owner), calendarId, or meetingTypeId; order ascending or descending by start time and page with cursor.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsListInput"},"examples":{"Upcoming scheduled meetings this week":{"summary":"Upcoming scheduled meetings this week","value":{"startsAfter":"2026-09-14T00:00:00.000Z","endsBefore":"2026-09-20T23:59:59.000Z","status":"scheduled","order":"asc","limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsListOutput"},"examples":{"Upcoming scheduled meetings this week":{"summary":"Upcoming scheduled meetings this week","value":{"items":[],"nextCursor":null,"totalCount":0}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The cursor does not match the requested order, filters, or meeting query.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The cursor does not match the requested order, filters, or meeting query.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The cursor does not match the requested order, filters, or meeting query.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The cursor does not match the requested order, filters, or meeting query.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The cursor does not match the requested order, filters, or meeting query.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The cursor does not match the requested order, filters, or meeting query.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The cursor does not match the requested order, filters, or meeting query.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The cursor does not match the requested order, filters, or meeting query.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The cursor does not match the requested order, filters, or meeting query.","recovery":{"operation":"meetings.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/meetings.reschedule":{"post":{"tags":["Operations: meetings"],"operationId":"meetings.reschedule","x-moreflow-stability":"stable","x-moreflow-operation-id":"meetings.reschedule","x-moreflow-agent":{"effect":"external_communication","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"meetings.reschedule","description":"Updates startsAt and endsAt (ISO 8601) of an existing meeting, re-syncs the provider calendar event, and re-sends the updated invitation to the guest. Because guests are contacted, it always requires confirmation; rescheduling back to the previous slot is the compensation, but notifications already sent cannot be recalled.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleInput"},"examples":{"Push a call back by one hour":{"summary":"Push a call back by one hour","value":{"meetingId":"d2e4f6a8-0b1c-4d3e-8f5a-6b7c8d9e0f1a","startsAt":"2026-09-16T10:00:00.000Z","endsAt":"2026-09-16T10:45:00.000Z"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleOutput"},"examples":{"Push a call back by one hour":{"summary":"Push a call back by one hour","value":{"id":"50000000-0000-4000-8000-000000000001","accountId":"3f8b2c1d-6a4e-4b9f-9d2e-7c5a1b8e4f60","meetingTypeId":"60000000-0000-4000-8000-000000000001","calendarId":"70000000-0000-4000-8000-000000000001","clientId":null,"title":"Discovery call","status":"rescheduled","startsAt":"2026-10-01T09:00:00.000Z","endsAt":"2026-10-01T09:30:00.000Z","timezone":"Europe/Berlin","locationType":"phone","guestEmail":null,"guestName":null,"cancellationReason":null,"metadata":{},"createdAt":"2026-09-30T09:00:00.000Z","updatedAt":"2026-09-30T09:00:00.000Z","groupSessionId":null,"previousStartsAt":"2026-09-30T09:00:00.000Z","previousEndsAt":"2026-09-30T09:30:00.000Z"}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting or scheduling resources do not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit rescheduling.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed concurrently or the requested slot is occupied.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"SESSION_FULL","when":"The requested group session has no free seats.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The connected calendar refused the event update.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting or scheduling resources do not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit rescheduling.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed concurrently or the requested slot is occupied.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"SESSION_FULL","when":"The requested group session has no free seats.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The connected calendar refused the event update.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting or scheduling resources do not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit rescheduling.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed concurrently or the requested slot is occupied.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"SESSION_FULL","when":"The requested group session has no free seats.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The connected calendar refused the event update.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting or scheduling resources do not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit rescheduling.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed concurrently or the requested slot is occupied.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"SESSION_FULL","when":"The requested group session has no free seats.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The connected calendar refused the event update.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting or scheduling resources do not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit rescheduling.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed concurrently or the requested slot is occupied.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"SESSION_FULL","when":"The requested group session has no free seats.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The connected calendar refused the event update.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting or scheduling resources do not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit rescheduling.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed concurrently or the requested slot is occupied.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"SESSION_FULL","when":"The requested group session has no free seats.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The connected calendar refused the event update.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting or scheduling resources do not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit rescheduling.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed concurrently or the requested slot is occupied.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"SESSION_FULL","when":"The requested group session has no free seats.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The connected calendar refused the event update.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting or scheduling resources do not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit rescheduling.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed concurrently or the requested slot is occupied.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"SESSION_FULL","when":"The requested group session has no free seats.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The connected calendar refused the event update.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting or scheduling resources do not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit rescheduling.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed concurrently or the requested slot is occupied.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"SESSION_FULL","when":"The requested group session has no free seats.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The connected calendar refused the event update.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetings.reschedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The meeting or scheduling resources do not exist in this account.","recovery":{"operation":"meetings.list"}},{"code":"INVALID_STATE","when":"The meeting lifecycle does not permit rescheduling.","recovery":{"operation":"meetings.list"}},{"code":"CONFLICT","when":"The meeting changed concurrently or the requested slot is occupied.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"SESSION_FULL","when":"The requested group session has no free seats.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_UNAVAILABLE","when":"Connected calendar availability cannot be verified.","recovery":{"operation":"meetings.availability.get","requiredFields":["meetingTypeId","availabilityDate"]}},{"code":"PROVIDER_ERROR","when":"The connected calendar refused the event update.","recovery":{"operation":"calendars.list"}},{"code":"PROVIDER_AUTH_ERROR","when":"The connected calendar credential is missing, expired or cannot be refreshed.","recovery":{"operation":"calendars.list"}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract. The selected calendar provider is not configured."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingsRescheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/meetingTypes.list":{"post":{"tags":["Operations: meetingTypes"],"operationId":"meetingTypes.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"meetingTypes.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"meetingTypes.list","description":"Returns one page of meeting types of the account (title, slug, duration, timezone, location, status, visibility), optionally restricted to a single ownerUserId. The response includes capabilities.canManage, which tells whether the caller may create, change, or archive meeting types. Use limit (1–100, default 25) and nextCursor to read subsequent pages. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingTypesListInput"},"examples":{"List all meeting types of an account":{"summary":"List all meeting types of an account","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingTypesListOutput"},"examples":{"List all meeting types of an account":{"summary":"List all meeting types of an account","value":{"items":[],"nextCursor":null,"capabilities":{"canManage":false}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The meeting type cursor is invalid.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingTypesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The meeting type cursor is invalid.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingTypesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The meeting type cursor is invalid.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingTypesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The meeting type cursor is invalid.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingTypesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The meeting type cursor is invalid.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingTypesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The meeting type cursor is invalid.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingTypesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The meeting type cursor is invalid.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingTypesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The meeting type cursor is invalid.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingTypesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"meetingTypes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The meeting type cursor is invalid.","recovery":{"operation":"meetingTypes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMeetingTypesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/offers.create":{"post":{"tags":["Operations: offers"],"operationId":"offers.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"offers.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"offers.create","description":"Create a backend-owned offer draft.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/offers.deal.update":{"post":{"tags":["Operations: deals"],"operationId":"offers.deal.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"offers.deal.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Link offer to deal","description":"Sets the deal an offer belongs to. The deal must be a live deal of the offer’s client, and the caller needs the deal edit capability (on the deal it leaves when unlinking). The contract the offer generated is linked together with it, and a contract the offer generates later inherits the link. The offer’s generated invoice and payment follow the offer. An offer linked to another deal returns DEAL_LINK_CONFLICT: unlink it with dealId null first. The deal stage and outcome never change.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateInput"},"examples":{"Link an offer to its deal":{"summary":"Link an offer to its deal","value":{"offerId":"8d2f4b6a-1c3e-4f5a-9b7d-2e4f6a8c0b1d","dealId":"5f0c2a1e-7b3d-4c8a-9e2f-1a2b3c4d5e6f"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The offer does not exist in this account.","recovery":{"operation":"offers.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the offer joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the offer.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The offer or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"offers.deal.update","args":{"dealId":null},"requiredFields":["offerId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"offers.deal.update","requiredFields":["offerId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The offer does not exist in this account.","recovery":{"operation":"offers.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the offer joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the offer.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The offer or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"offers.deal.update","args":{"dealId":null},"requiredFields":["offerId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"offers.deal.update","requiredFields":["offerId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The offer does not exist in this account.","recovery":{"operation":"offers.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the offer joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the offer.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The offer or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"offers.deal.update","args":{"dealId":null},"requiredFields":["offerId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"offers.deal.update","requiredFields":["offerId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The offer does not exist in this account.","recovery":{"operation":"offers.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the offer joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the offer.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The offer or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"offers.deal.update","args":{"dealId":null},"requiredFields":["offerId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"offers.deal.update","requiredFields":["offerId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The offer does not exist in this account.","recovery":{"operation":"offers.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the offer joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the offer.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The offer or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"offers.deal.update","args":{"dealId":null},"requiredFields":["offerId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"offers.deal.update","requiredFields":["offerId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The offer does not exist in this account.","recovery":{"operation":"offers.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the offer joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the offer.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The offer or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"offers.deal.update","args":{"dealId":null},"requiredFields":["offerId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"offers.deal.update","requiredFields":["offerId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The offer does not exist in this account.","recovery":{"operation":"offers.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the offer joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the offer.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The offer or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"offers.deal.update","args":{"dealId":null},"requiredFields":["offerId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"offers.deal.update","requiredFields":["offerId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The offer does not exist in this account.","recovery":{"operation":"offers.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the offer joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the offer.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The offer or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"offers.deal.update","args":{"dealId":null},"requiredFields":["offerId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"offers.deal.update","requiredFields":["offerId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The offer does not exist in this account.","recovery":{"operation":"offers.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the offer joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the offer.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The offer or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"offers.deal.update","args":{"dealId":null},"requiredFields":["offerId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"offers.deal.update","requiredFields":["offerId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.deal.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The offer does not exist in this account.","recovery":{"operation":"offers.list"}},{"code":"DEAL_NOT_FOUND","when":"The deal does not exist in this account.","recovery":{"operation":"deals.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller lacks the edit capability on the deal the offer joins or leaves.","recovery":{"operation":"deals.get","requiredFields":["dealId"]}},{"code":"DEAL_ARCHIVED","when":"An archived deal must be restored before records are linked to it.","recovery":{"operation":"deals.archive.update","args":{"archived":false},"requiredFields":["dealId","expectedVersion"]}},{"code":"DEAL_CLIENT_MISMATCH","when":"The deal belongs to a different client than the offer.","recovery":{"operation":"deals.list","requiredFields":["clientId"]}},{"code":"DEAL_LINK_CONFLICT","when":"The offer or its offer workflow is linked to another deal; unlink it first.","recovery":{"operation":"offers.deal.update","args":{"dealId":null},"requiredFields":["offerId"]}},{"code":"DEAL_LINK_CHANGED","when":"The link or the deal changed concurrently; retry the update.","recovery":{"operation":"offers.deal.update","requiredFields":["offerId","dealId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersDealUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/offers.get":{"post":{"tags":["Operations: offers"],"operationId":"offers.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"offers.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"offers.get","description":"Get an offer with its latest version and audit events.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersGetInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/offers.list":{"post":{"tags":["Operations: offers"],"operationId":"offers.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"offers.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"offers.list","description":"List commercial offers for an account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersListInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"offers.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"offers.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"offers.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"offers.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"offers.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"offers.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"offers.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"offers.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"offers.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/offers.send":{"post":{"tags":["Operations: offers"],"operationId":"offers.send","x-moreflow-stability":"stable","x-moreflow-operation-id":"offers.send","x-moreflow-agent":{"effect":"external_communication","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"offers.send","description":"Sends a draft offer (or resends a sent one with resend: true) by email and creates its public acceptance shortlink. The email goes to recipient.contactPointId when given (one of the client's saved emails; free-form addresses are rejected with RECIPIENT_NOT_ON_CLIENT, recovery clients.contactPoints.create), otherwise to the client's primary email; the address used is returned as offer.sentToEmail. The client record is not changed. Requires confirmation; the email cannot be recalled.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CLIENT_IDENTITY_REQUIRED","when":"The offer client is missing the business identity required for delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId"]}},{"code":"CLIENT_QUALIFICATION_REQUIRED","when":"The offer client has not satisfied the required qualification.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CLIENT_IDENTITY_REQUIRED","when":"The offer client is missing the business identity required for delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId"]}},{"code":"CLIENT_QUALIFICATION_REQUIRED","when":"The offer client has not satisfied the required qualification.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CLIENT_IDENTITY_REQUIRED","when":"The offer client is missing the business identity required for delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId"]}},{"code":"CLIENT_QUALIFICATION_REQUIRED","when":"The offer client has not satisfied the required qualification.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CLIENT_IDENTITY_REQUIRED","when":"The offer client is missing the business identity required for delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId"]}},{"code":"CLIENT_QUALIFICATION_REQUIRED","when":"The offer client has not satisfied the required qualification.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CLIENT_IDENTITY_REQUIRED","when":"The offer client is missing the business identity required for delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId"]}},{"code":"CLIENT_QUALIFICATION_REQUIRED","when":"The offer client has not satisfied the required qualification.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CLIENT_IDENTITY_REQUIRED","when":"The offer client is missing the business identity required for delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId"]}},{"code":"CLIENT_QUALIFICATION_REQUIRED","when":"The offer client has not satisfied the required qualification.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CLIENT_IDENTITY_REQUIRED","when":"The offer client is missing the business identity required for delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId"]}},{"code":"CLIENT_QUALIFICATION_REQUIRED","when":"The offer client has not satisfied the required qualification.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CLIENT_IDENTITY_REQUIRED","when":"The offer client is missing the business identity required for delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId"]}},{"code":"CLIENT_QUALIFICATION_REQUIRED","when":"The offer client has not satisfied the required qualification.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CLIENT_IDENTITY_REQUIRED","when":"The offer client is missing the business identity required for delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId"]}},{"code":"CLIENT_QUALIFICATION_REQUIRED","when":"The offer client has not satisfied the required qualification.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing. An earlier execution with this idempotency key is still running.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"CLIENT_IDENTITY_REQUIRED","when":"The offer client is missing the business identity required for delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId"]}},{"code":"CLIENT_QUALIFICATION_REQUIRED","when":"The offer client has not satisfied the required qualification.","recovery":{"operation":"clients.get","requiredFields":["clientId"]}},{"code":"RECIPIENT_NOT_ON_CLIENT","when":"The selected delivery address is not a saved contact point of this client.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"RECIPIENT_WRONG_KIND","when":"The selected contact point does not support the chosen delivery method.","recovery":{"operation":"clients.contactPoints.create","requiredFields":["clientId","kind","value"]}},{"code":"CLIENT_NO_EMAIL","when":"The client has no email address suitable for this delivery.","recovery":{"operation":"clients.update","requiredFields":["clientId","email"]}},{"code":"PROVIDER_ERROR","when":"The configured delivery provider rejected the request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.send"}}},{"code":"OUTBOUND_GOVERNOR_BLOCKED","when":"The account outbound-delivery policy prevents sending the document."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSendError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/offers.status.update":{"post":{"tags":["Operations: offers"],"operationId":"offers.status.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"offers.status.update","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"offers.status.update","description":"Cancel, expire, or decline an offer from the backend.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.status.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"AUTOMATION_TRIGGER_DISPATCHER_UNAVAILABLE","when":"The resource change is saved, but its automation dispatch is pending."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersStatusUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/offers.summary.get":{"post":{"tags":["Operations: offers"],"operationId":"offers.summary.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"offers.summary.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"offers.summary.get","description":"Summarize the authorized account offer pipeline for an explicit period.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSummaryGetInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSummaryGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_INPUT","when":"The requested summary period does not end after it starts.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_INPUT","when":"The requested summary period does not end after it starts.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_INPUT","when":"The requested summary period does not end after it starts.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_INPUT","when":"The requested summary period does not end after it starts.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_INPUT","when":"The requested summary period does not end after it starts.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_INPUT","when":"The requested summary period does not end after it starts.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_INPUT","when":"The requested summary period does not end after it starts.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_INPUT","when":"The requested summary period does not end after it starts.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_INPUT","when":"The requested summary period does not end after it starts.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.summary.get"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersSummaryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/offers.update":{"post":{"tags":["Operations: offers"],"operationId":"offers.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"offers.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"offers.update","description":"Update an offer draft and create a new version snapshot.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"offers.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_STATE","when":"The current resource state or required domain dependency prevents this action.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}},{"code":"CONFLICT","when":"The resource changed concurrently, or linked client and contract records are inconsistent.","recovery":{"operation":"offers.get","requiredFields":["offerId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOffersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/operations.discovery.get":{"post":{"tags":["Operations: operations"],"operationId":"operations.discovery.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"operations.discovery.get","summary":"Inspect Operation","description":"Load serialized Zod input, output, and error metadata for one backend operation.","x-moreflow-contract-version":"1","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested operation is unavailable on the public surface.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested operation is unavailable on the public surface.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested operation is unavailable on the public surface.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested operation is unavailable on the public surface.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested operation is unavailable on the public surface.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested operation is unavailable on the public surface.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested operation is unavailable on the public surface.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested operation is unavailable on the public surface.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The requested operation is unavailable on the public surface.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/operations.discovery.list":{"post":{"tags":["Operations: operations"],"operationId":"operations.discovery.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"operations.discovery.list","summary":"List Operations","description":"List discoverable backend operation summaries.","x-moreflow-contract-version":"1","requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The discovery cursor is malformed or expired.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The discovery cursor is malformed or expired.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The discovery cursor is malformed or expired.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The discovery cursor is malformed or expired.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The discovery cursor is malformed or expired.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The discovery cursor is malformed or expired.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The discovery cursor is malformed or expired.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The discovery cursor is malformed or expired.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.discovery.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The discovery cursor is malformed or expired.","recovery":{"operation":"operations.discovery.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsDiscoveryListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/operations.events.list":{"post":{"tags":["Operations: operations"],"operationId":"operations.events.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"operations.events.list","summary":"operations.events.list","description":"Read retained operation events for one authenticated account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsEventsListInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsEventsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names an account other than the authenticated tenant, or the tenant is missing.","recovery":{"operation":"operations.events.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed, or it is older than the seven-day replay retention.","recovery":{"operation":"operations.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names an account other than the authenticated tenant, or the tenant is missing.","recovery":{"operation":"operations.events.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed, or it is older than the seven-day replay retention.","recovery":{"operation":"operations.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names an account other than the authenticated tenant, or the tenant is missing.","recovery":{"operation":"operations.events.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed, or it is older than the seven-day replay retention.","recovery":{"operation":"operations.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names an account other than the authenticated tenant, or the tenant is missing.","recovery":{"operation":"operations.events.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed, or it is older than the seven-day replay retention.","recovery":{"operation":"operations.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names an account other than the authenticated tenant, or the tenant is missing.","recovery":{"operation":"operations.events.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed, or it is older than the seven-day replay retention.","recovery":{"operation":"operations.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names an account other than the authenticated tenant, or the tenant is missing.","recovery":{"operation":"operations.events.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed, or it is older than the seven-day replay retention.","recovery":{"operation":"operations.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names an account other than the authenticated tenant, or the tenant is missing.","recovery":{"operation":"operations.events.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed, or it is older than the seven-day replay retention.","recovery":{"operation":"operations.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names an account other than the authenticated tenant, or the tenant is missing.","recovery":{"operation":"operations.events.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed, or it is older than the seven-day replay retention.","recovery":{"operation":"operations.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names an account other than the authenticated tenant, or the tenant is missing.","recovery":{"operation":"operations.events.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed, or it is older than the seven-day replay retention.","recovery":{"operation":"operations.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/operations.invocations.list":{"post":{"tags":["Operations: invocations"],"operationId":"operations.invocations.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"operations.invocations.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"operations.invocations.list","description":"Read retained operation invocations for the authenticated machine principal.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsInvocationsListInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsInvocationsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names another account, or the caller is not the integration token or service principal that made the invocations.","recovery":{"operation":"operations.invocations.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"operations.invocations.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsInvocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names another account, or the caller is not the integration token or service principal that made the invocations.","recovery":{"operation":"operations.invocations.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"operations.invocations.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsInvocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names another account, or the caller is not the integration token or service principal that made the invocations.","recovery":{"operation":"operations.invocations.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"operations.invocations.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsInvocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names another account, or the caller is not the integration token or service principal that made the invocations.","recovery":{"operation":"operations.invocations.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"operations.invocations.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsInvocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names another account, or the caller is not the integration token or service principal that made the invocations.","recovery":{"operation":"operations.invocations.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"operations.invocations.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsInvocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names another account, or the caller is not the integration token or service principal that made the invocations.","recovery":{"operation":"operations.invocations.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"operations.invocations.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsInvocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names another account, or the caller is not the integration token or service principal that made the invocations.","recovery":{"operation":"operations.invocations.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"operations.invocations.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsInvocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names another account, or the caller is not the integration token or service principal that made the invocations.","recovery":{"operation":"operations.invocations.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"operations.invocations.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsInvocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.invocations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The request names another account, or the caller is not the integration token or service principal that made the invocations.","recovery":{"operation":"operations.invocations.list","args":{}}},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"operations.invocations.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsInvocationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/operations.modules.list":{"post":{"tags":["Operations: operations"],"operationId":"operations.modules.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"operations.modules.list","summary":"List Operation Modules","description":"List modules that contain discoverable backend operations.","x-moreflow-contract-version":"1","requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsModulesListInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsModulesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The module cursor is malformed or expired.","recovery":{"operation":"operations.modules.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsModulesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The module cursor is malformed or expired.","recovery":{"operation":"operations.modules.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsModulesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The module cursor is malformed or expired.","recovery":{"operation":"operations.modules.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsModulesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The module cursor is malformed or expired.","recovery":{"operation":"operations.modules.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsModulesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The module cursor is malformed or expired.","recovery":{"operation":"operations.modules.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsModulesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The module cursor is malformed or expired.","recovery":{"operation":"operations.modules.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsModulesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The module cursor is malformed or expired.","recovery":{"operation":"operations.modules.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsModulesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The module cursor is malformed or expired.","recovery":{"operation":"operations.modules.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsModulesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"operations.modules.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The module cursor is malformed or expired.","recovery":{"operation":"operations.modules.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOperationsModulesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/payments.create":{"post":{"tags":["Operations: payments"],"operationId":"payments.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"payments.create","x-moreflow-agent":{"effect":"financial_commitment","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"payments.create","description":"Inserts a payment record with net and gross totals in integer cents, ISO currency, the provider (for example stripe, paypal, manual), and optionally the payment method, line items, and links to clientId, contractId, invoiceId, or meetingId. Provider and accounting identifiers are assigned by Moreflow. Requires an idempotencyKey; a repeated key returns the original payment with replayed true. Always confirmed and treated as irreversible; use payments.refund to reverse a provider payment.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateInput"},"examples":{"Record a bank transfer for a contract":{"summary":"Record a bank transfer for a contract","value":{"clientId":"d4b7f2e1-8c3a-4d9e-b6f5-1a2c3e4d5f60","contractId":"3b9e6c1d-8f2a-4d7b-a5c4-9e1f0b2d6a83","type":"contract","totalNetCents":250000,"totalGrossCents":297500,"currency":"EUR","provider":"manual","paymentMethod":"bank_transfer","idempotencyKey":"contract-3b9e6c1d-transfer-2026-09-14"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request. The idempotency key already identifies a different financial request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/payments.get":{"post":{"tags":["Operations: payments"],"operationId":"payments.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"payments.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"payments.get","description":"Returns the public payment record for id with its business amounts, currency, provider, payment method, status, timestamps, and references to the client, contract, invoice, or meeting it settles. Provider, tenant, and internal settlement identifiers are omitted. Returns NOT_FOUND when no such payment exists; membership in the owning account is enforced. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsGetInput"},"examples":{"Look up a payment referenced in a support ticket":{"summary":"Look up a payment referenced in a support ticket","value":{"id":"8e4b1d7f-2c6a-4f9e-a3d5-0b7c9e2f1a64"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/payments.stats.get":{"post":{"tags":["Operations: payments"],"operationId":"payments.stats.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"payments.stats.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"payments.stats.get","description":"Returns all-time invoice and recognized settled-payment totals per ISO currency in integer cents. Refunded amounts are deducted from collected money. Currencies are never summed together. Requires membership in the authenticated account. Read-only.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsStatsGetInput"},"examples":{"Load the revenue tiles for the dashboard":{"summary":"Load the revenue tiles for the dashboard","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsStatsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"payments.stats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationPaymentsStatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/products.get":{"post":{"tags":["Operations: products"],"operationId":"products.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"products.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"products.get","description":"Loads a single product of the account by productId (id is accepted as an alias) and returns its name, description, price, currency, tax rate, status, checkout link, and contract-template reference. Returns NOT_FOUND when no product id is given or the product does not belong to the account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsGetInput"},"examples":{"Product details for a checkout":{"summary":"Product details for a checkout","value":{"productId":"2f6a9c3e-7d1b-4e5f-8c2a-9b4d6e0f1a3c"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/products.list":{"post":{"tags":["Operations: products"],"operationId":"products.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"products.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"products.list","description":"Returns the account products in pages (limit up to 100, opaque cursor in nextCursor), each with name, price, currency, tax rate, status, and the fields needed to attach the product to a contract or checkout. Filter by status, include archived products, or narrow by a query on the name.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsListInput"},"examples":{"Active products matching a query":{"summary":"Active products matching a query","value":{"status":"active","query":"Coaching","limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"products.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"products.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"products.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"products.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"products.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"products.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"products.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"products.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"products.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The supplied cursor is malformed, expired, or incompatible with the requested sort.","recovery":{"operation":"products.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationProductsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/repositories.changes.cancel":{"post":{"tags":["Operations: repositories"],"operationId":"repositories.changes.cancel","x-moreflow-stability":"stable","x-moreflow-operation-id":"repositories.changes.cancel","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"repositories.changes.cancel","description":"Cancels an unpublished change and returns its updated resource. An already cancelled change is returned unchanged; publishing and terminal changes cannot be cancelled.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelInput"},"examples":{"Cancel an unpublished change":{"summary":"Cancel an unpublished change","value":{"changeId":"52000000-0000-4000-8000-000000000201"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_NOT_CANCELLABLE","when":"The change is publishing or already finished.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_NOT_CANCELLABLE","when":"The change is publishing or already finished.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_NOT_CANCELLABLE","when":"The change is publishing or already finished.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_NOT_CANCELLABLE","when":"The change is publishing or already finished.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_NOT_CANCELLABLE","when":"The change is publishing or already finished.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_NOT_CANCELLABLE","when":"The change is publishing or already finished.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_NOT_CANCELLABLE","when":"The change is publishing or already finished.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_NOT_CANCELLABLE","when":"The change is publishing or already finished.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_NOT_CANCELLABLE","when":"The change is publishing or already finished.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_NOT_CANCELLABLE","when":"The change is publishing or already finished.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/repositories.changes.get":{"post":{"tags":["Operations: repositories"],"operationId":"repositories.changes.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"repositories.changes.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"repositories.changes.get","description":"Returns the repository change run changeId for the account: its status, the connected repository, the working branch and latest commit, the preview deployment URL when one exists, and the linked pull request with its review state. Use it to follow a change that an agent started until it is merged, cancelled, or failed.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetInput"},"examples":{"Follow a change run":{"summary":"Follow a change run","value":{"changeId":"e6b1d4c7-8a2f-4e3b-9c5d-0f1a2b3c4d5e"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/repositories.changes.list":{"post":{"tags":["Operations: repositories"],"operationId":"repositories.changes.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"repositories.changes.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"repositories.changes.list","description":"Returns the most recent repository change runs of the account (default 25, up to 100), newest first, optionally limited to one repository connection via connectionId or to runs that are still in progress via activeOnly. Each entry carries status, branch, commit, preview, and pull request information.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesListInput"},"examples":{"In-progress changes on one repository":{"summary":"In-progress changes on one repository","value":{"connectionId":"f2a9c3e1-6d4b-4f8a-b7c5-3e2d1f0a9b8c","activeOnly":true,"limit":20}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.changes.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/repositories.changes.propose":{"post":{"tags":["Operations: repositories"],"operationId":"repositories.changes.propose","x-moreflow-stability":"stable","x-moreflow-operation-id":"repositories.changes.propose","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"repositories.changes.propose","description":"Validates lane, verification, path and publication authority, persists a requested change and starts its Temporal workflow. Returns the change resource directly; poll its get operation to follow execution.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeInput"},"examples":{"Update page metadata":{"summary":"Update page metadata","value":{"connectionId":"52000000-0000-4000-8000-000000000101","lane":"seo_website","goal":"Improve the pricing page metadata.","targetPaths":["app/pricing/page.tsx"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_LANE_PURPOSE_MISMATCH","when":"The connection purpose does not authorize the requested lane.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CONNECTION_UNVERIFIED","when":"The connection must be verified before proposing a change.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}},{"code":"REPOSITORY_READ_ONLY","when":"The connection has no configured push strategy.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_SUPPORT_POLICY_INVALID","when":"A support-remediation change needs a connection policy that satisfies the support lane requirements.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"Another change is still active on the connection.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_QUOTA_EXCEEDED","when":"The account reached its active change-run limit or its rolling 24-hour start limit.","recovery":{"operation":"repositories.changes.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the persisted change workflow.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"SEO_PUBLICATION_AUTHORITY_REQUIRED","when":"The exact revision, baseline or current user authority could not be validated.","recovery":{"operation":"repositories.list"}},{"code":"SEO_FULL_AUTONOMY_MARKER_FORBIDDEN","when":"A caller supplied evidence reserved for the trusted SEO executor.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_FULL_AUTONOMY_AUTHORITY_REQUIRED","when":"The trusted consent or its current publication authority is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"The artifact evidence does not match persisted content and file writes.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"WEBSITE_TASK_ROUTE_UNAVAILABLE","when":"Account policy cannot supply a paid agent website route.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"REPOSITORY_PATH_FORBIDDEN_PATH","when":"The proposed paths include unsafe or forbidden files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SCOPE_EXPANSION","when":"The plan is empty or exceeds the permitted path count.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SKILLS_TOUCHED","when":"The plan modifies an immutable skills tree.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_MIGRATION_OR_SCHEMA_CHANGE","when":"The plan modifies database schema or migrations.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SENSITIVE_TOPIC_DETECTED","when":"The plan includes secrets or credential files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_CHANGED_TEST_MISSING","when":"The connection requires a regression test in the plan.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_PATH_NOT_ALLOWLISTED","when":"A proposed path is outside the connection allowlist.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_LANE_PURPOSE_MISMATCH","when":"The connection purpose does not authorize the requested lane.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CONNECTION_UNVERIFIED","when":"The connection must be verified before proposing a change.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}},{"code":"REPOSITORY_READ_ONLY","when":"The connection has no configured push strategy.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_SUPPORT_POLICY_INVALID","when":"A support-remediation change needs a connection policy that satisfies the support lane requirements.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"Another change is still active on the connection.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_QUOTA_EXCEEDED","when":"The account reached its active change-run limit or its rolling 24-hour start limit.","recovery":{"operation":"repositories.changes.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the persisted change workflow.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"SEO_PUBLICATION_AUTHORITY_REQUIRED","when":"The exact revision, baseline or current user authority could not be validated.","recovery":{"operation":"repositories.list"}},{"code":"SEO_FULL_AUTONOMY_MARKER_FORBIDDEN","when":"A caller supplied evidence reserved for the trusted SEO executor.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_FULL_AUTONOMY_AUTHORITY_REQUIRED","when":"The trusted consent or its current publication authority is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"The artifact evidence does not match persisted content and file writes.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"WEBSITE_TASK_ROUTE_UNAVAILABLE","when":"Account policy cannot supply a paid agent website route.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"REPOSITORY_PATH_FORBIDDEN_PATH","when":"The proposed paths include unsafe or forbidden files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SCOPE_EXPANSION","when":"The plan is empty or exceeds the permitted path count.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SKILLS_TOUCHED","when":"The plan modifies an immutable skills tree.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_MIGRATION_OR_SCHEMA_CHANGE","when":"The plan modifies database schema or migrations.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SENSITIVE_TOPIC_DETECTED","when":"The plan includes secrets or credential files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_CHANGED_TEST_MISSING","when":"The connection requires a regression test in the plan.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_PATH_NOT_ALLOWLISTED","when":"A proposed path is outside the connection allowlist.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_LANE_PURPOSE_MISMATCH","when":"The connection purpose does not authorize the requested lane.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CONNECTION_UNVERIFIED","when":"The connection must be verified before proposing a change.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}},{"code":"REPOSITORY_READ_ONLY","when":"The connection has no configured push strategy.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_SUPPORT_POLICY_INVALID","when":"A support-remediation change needs a connection policy that satisfies the support lane requirements.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"Another change is still active on the connection.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_QUOTA_EXCEEDED","when":"The account reached its active change-run limit or its rolling 24-hour start limit.","recovery":{"operation":"repositories.changes.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the persisted change workflow.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"SEO_PUBLICATION_AUTHORITY_REQUIRED","when":"The exact revision, baseline or current user authority could not be validated.","recovery":{"operation":"repositories.list"}},{"code":"SEO_FULL_AUTONOMY_MARKER_FORBIDDEN","when":"A caller supplied evidence reserved for the trusted SEO executor.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_FULL_AUTONOMY_AUTHORITY_REQUIRED","when":"The trusted consent or its current publication authority is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"The artifact evidence does not match persisted content and file writes.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"WEBSITE_TASK_ROUTE_UNAVAILABLE","when":"Account policy cannot supply a paid agent website route.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"REPOSITORY_PATH_FORBIDDEN_PATH","when":"The proposed paths include unsafe or forbidden files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SCOPE_EXPANSION","when":"The plan is empty or exceeds the permitted path count.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SKILLS_TOUCHED","when":"The plan modifies an immutable skills tree.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_MIGRATION_OR_SCHEMA_CHANGE","when":"The plan modifies database schema or migrations.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SENSITIVE_TOPIC_DETECTED","when":"The plan includes secrets or credential files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_CHANGED_TEST_MISSING","when":"The connection requires a regression test in the plan.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_PATH_NOT_ALLOWLISTED","when":"A proposed path is outside the connection allowlist.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_LANE_PURPOSE_MISMATCH","when":"The connection purpose does not authorize the requested lane.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CONNECTION_UNVERIFIED","when":"The connection must be verified before proposing a change.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}},{"code":"REPOSITORY_READ_ONLY","when":"The connection has no configured push strategy.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_SUPPORT_POLICY_INVALID","when":"A support-remediation change needs a connection policy that satisfies the support lane requirements.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"Another change is still active on the connection.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_QUOTA_EXCEEDED","when":"The account reached its active change-run limit or its rolling 24-hour start limit.","recovery":{"operation":"repositories.changes.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the persisted change workflow.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"SEO_PUBLICATION_AUTHORITY_REQUIRED","when":"The exact revision, baseline or current user authority could not be validated.","recovery":{"operation":"repositories.list"}},{"code":"SEO_FULL_AUTONOMY_MARKER_FORBIDDEN","when":"A caller supplied evidence reserved for the trusted SEO executor.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_FULL_AUTONOMY_AUTHORITY_REQUIRED","when":"The trusted consent or its current publication authority is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"The artifact evidence does not match persisted content and file writes.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"WEBSITE_TASK_ROUTE_UNAVAILABLE","when":"Account policy cannot supply a paid agent website route.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"REPOSITORY_PATH_FORBIDDEN_PATH","when":"The proposed paths include unsafe or forbidden files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SCOPE_EXPANSION","when":"The plan is empty or exceeds the permitted path count.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SKILLS_TOUCHED","when":"The plan modifies an immutable skills tree.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_MIGRATION_OR_SCHEMA_CHANGE","when":"The plan modifies database schema or migrations.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SENSITIVE_TOPIC_DETECTED","when":"The plan includes secrets or credential files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_CHANGED_TEST_MISSING","when":"The connection requires a regression test in the plan.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_PATH_NOT_ALLOWLISTED","when":"A proposed path is outside the connection allowlist.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_LANE_PURPOSE_MISMATCH","when":"The connection purpose does not authorize the requested lane.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CONNECTION_UNVERIFIED","when":"The connection must be verified before proposing a change.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}},{"code":"REPOSITORY_READ_ONLY","when":"The connection has no configured push strategy.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_SUPPORT_POLICY_INVALID","when":"A support-remediation change needs a connection policy that satisfies the support lane requirements.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"Another change is still active on the connection.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_QUOTA_EXCEEDED","when":"The account reached its active change-run limit or its rolling 24-hour start limit.","recovery":{"operation":"repositories.changes.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the persisted change workflow.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"SEO_PUBLICATION_AUTHORITY_REQUIRED","when":"The exact revision, baseline or current user authority could not be validated.","recovery":{"operation":"repositories.list"}},{"code":"SEO_FULL_AUTONOMY_MARKER_FORBIDDEN","when":"A caller supplied evidence reserved for the trusted SEO executor.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_FULL_AUTONOMY_AUTHORITY_REQUIRED","when":"The trusted consent or its current publication authority is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"The artifact evidence does not match persisted content and file writes.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"WEBSITE_TASK_ROUTE_UNAVAILABLE","when":"Account policy cannot supply a paid agent website route.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"REPOSITORY_PATH_FORBIDDEN_PATH","when":"The proposed paths include unsafe or forbidden files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SCOPE_EXPANSION","when":"The plan is empty or exceeds the permitted path count.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SKILLS_TOUCHED","when":"The plan modifies an immutable skills tree.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_MIGRATION_OR_SCHEMA_CHANGE","when":"The plan modifies database schema or migrations.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SENSITIVE_TOPIC_DETECTED","when":"The plan includes secrets or credential files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_CHANGED_TEST_MISSING","when":"The connection requires a regression test in the plan.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_PATH_NOT_ALLOWLISTED","when":"A proposed path is outside the connection allowlist.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_LANE_PURPOSE_MISMATCH","when":"The connection purpose does not authorize the requested lane.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CONNECTION_UNVERIFIED","when":"The connection must be verified before proposing a change.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}},{"code":"REPOSITORY_READ_ONLY","when":"The connection has no configured push strategy.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_SUPPORT_POLICY_INVALID","when":"A support-remediation change needs a connection policy that satisfies the support lane requirements.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"Another change is still active on the connection.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_QUOTA_EXCEEDED","when":"The account reached its active change-run limit or its rolling 24-hour start limit.","recovery":{"operation":"repositories.changes.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the persisted change workflow.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"SEO_PUBLICATION_AUTHORITY_REQUIRED","when":"The exact revision, baseline or current user authority could not be validated.","recovery":{"operation":"repositories.list"}},{"code":"SEO_FULL_AUTONOMY_MARKER_FORBIDDEN","when":"A caller supplied evidence reserved for the trusted SEO executor.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_FULL_AUTONOMY_AUTHORITY_REQUIRED","when":"The trusted consent or its current publication authority is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"The artifact evidence does not match persisted content and file writes.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"WEBSITE_TASK_ROUTE_UNAVAILABLE","when":"Account policy cannot supply a paid agent website route.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"REPOSITORY_PATH_FORBIDDEN_PATH","when":"The proposed paths include unsafe or forbidden files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SCOPE_EXPANSION","when":"The plan is empty or exceeds the permitted path count.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SKILLS_TOUCHED","when":"The plan modifies an immutable skills tree.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_MIGRATION_OR_SCHEMA_CHANGE","when":"The plan modifies database schema or migrations.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SENSITIVE_TOPIC_DETECTED","when":"The plan includes secrets or credential files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_CHANGED_TEST_MISSING","when":"The connection requires a regression test in the plan.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_PATH_NOT_ALLOWLISTED","when":"A proposed path is outside the connection allowlist.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_LANE_PURPOSE_MISMATCH","when":"The connection purpose does not authorize the requested lane.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CONNECTION_UNVERIFIED","when":"The connection must be verified before proposing a change.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}},{"code":"REPOSITORY_READ_ONLY","when":"The connection has no configured push strategy.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_SUPPORT_POLICY_INVALID","when":"A support-remediation change needs a connection policy that satisfies the support lane requirements.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"Another change is still active on the connection.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_QUOTA_EXCEEDED","when":"The account reached its active change-run limit or its rolling 24-hour start limit.","recovery":{"operation":"repositories.changes.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the persisted change workflow.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"SEO_PUBLICATION_AUTHORITY_REQUIRED","when":"The exact revision, baseline or current user authority could not be validated.","recovery":{"operation":"repositories.list"}},{"code":"SEO_FULL_AUTONOMY_MARKER_FORBIDDEN","when":"A caller supplied evidence reserved for the trusted SEO executor.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_FULL_AUTONOMY_AUTHORITY_REQUIRED","when":"The trusted consent or its current publication authority is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"The artifact evidence does not match persisted content and file writes.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"WEBSITE_TASK_ROUTE_UNAVAILABLE","when":"Account policy cannot supply a paid agent website route.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"REPOSITORY_PATH_FORBIDDEN_PATH","when":"The proposed paths include unsafe or forbidden files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SCOPE_EXPANSION","when":"The plan is empty or exceeds the permitted path count.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SKILLS_TOUCHED","when":"The plan modifies an immutable skills tree.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_MIGRATION_OR_SCHEMA_CHANGE","when":"The plan modifies database schema or migrations.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SENSITIVE_TOPIC_DETECTED","when":"The plan includes secrets or credential files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_CHANGED_TEST_MISSING","when":"The connection requires a regression test in the plan.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_PATH_NOT_ALLOWLISTED","when":"A proposed path is outside the connection allowlist.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_LANE_PURPOSE_MISMATCH","when":"The connection purpose does not authorize the requested lane.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CONNECTION_UNVERIFIED","when":"The connection must be verified before proposing a change.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}},{"code":"REPOSITORY_READ_ONLY","when":"The connection has no configured push strategy.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_SUPPORT_POLICY_INVALID","when":"A support-remediation change needs a connection policy that satisfies the support lane requirements.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"Another change is still active on the connection.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_QUOTA_EXCEEDED","when":"The account reached its active change-run limit or its rolling 24-hour start limit.","recovery":{"operation":"repositories.changes.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the persisted change workflow.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"SEO_PUBLICATION_AUTHORITY_REQUIRED","when":"The exact revision, baseline or current user authority could not be validated.","recovery":{"operation":"repositories.list"}},{"code":"SEO_FULL_AUTONOMY_MARKER_FORBIDDEN","when":"A caller supplied evidence reserved for the trusted SEO executor.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_FULL_AUTONOMY_AUTHORITY_REQUIRED","when":"The trusted consent or its current publication authority is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"The artifact evidence does not match persisted content and file writes.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"WEBSITE_TASK_ROUTE_UNAVAILABLE","when":"Account policy cannot supply a paid agent website route.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"REPOSITORY_PATH_FORBIDDEN_PATH","when":"The proposed paths include unsafe or forbidden files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SCOPE_EXPANSION","when":"The plan is empty or exceeds the permitted path count.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SKILLS_TOUCHED","when":"The plan modifies an immutable skills tree.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_MIGRATION_OR_SCHEMA_CHANGE","when":"The plan modifies database schema or migrations.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SENSITIVE_TOPIC_DETECTED","when":"The plan includes secrets or credential files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_CHANGED_TEST_MISSING","when":"The connection requires a regression test in the plan.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_PATH_NOT_ALLOWLISTED","when":"A proposed path is outside the connection allowlist.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_LANE_PURPOSE_MISMATCH","when":"The connection purpose does not authorize the requested lane.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CONNECTION_UNVERIFIED","when":"The connection must be verified before proposing a change.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}},{"code":"REPOSITORY_READ_ONLY","when":"The connection has no configured push strategy.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_SUPPORT_POLICY_INVALID","when":"A support-remediation change needs a connection policy that satisfies the support lane requirements.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"Another change is still active on the connection.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_QUOTA_EXCEEDED","when":"The account reached its active change-run limit or its rolling 24-hour start limit.","recovery":{"operation":"repositories.changes.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the persisted change workflow.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"SEO_PUBLICATION_AUTHORITY_REQUIRED","when":"The exact revision, baseline or current user authority could not be validated.","recovery":{"operation":"repositories.list"}},{"code":"SEO_FULL_AUTONOMY_MARKER_FORBIDDEN","when":"A caller supplied evidence reserved for the trusted SEO executor.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_FULL_AUTONOMY_AUTHORITY_REQUIRED","when":"The trusted consent or its current publication authority is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"The artifact evidence does not match persisted content and file writes.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"WEBSITE_TASK_ROUTE_UNAVAILABLE","when":"Account policy cannot supply a paid agent website route.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"REPOSITORY_PATH_FORBIDDEN_PATH","when":"The proposed paths include unsafe or forbidden files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SCOPE_EXPANSION","when":"The plan is empty or exceeds the permitted path count.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SKILLS_TOUCHED","when":"The plan modifies an immutable skills tree.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_MIGRATION_OR_SCHEMA_CHANGE","when":"The plan modifies database schema or migrations.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SENSITIVE_TOPIC_DETECTED","when":"The plan includes secrets or credential files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_CHANGED_TEST_MISSING","when":"The connection requires a regression test in the plan.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_PATH_NOT_ALLOWLISTED","when":"A proposed path is outside the connection allowlist.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_LANE_PURPOSE_MISMATCH","when":"The connection purpose does not authorize the requested lane.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CONNECTION_UNVERIFIED","when":"The connection must be verified before proposing a change.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}},{"code":"REPOSITORY_READ_ONLY","when":"The connection has no configured push strategy.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_SUPPORT_POLICY_INVALID","when":"A support-remediation change needs a connection policy that satisfies the support lane requirements.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"Another change is still active on the connection.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"REPOSITORY_CHANGE_NOT_FOUND","when":"The change is not available in this account.","recovery":{"operation":"repositories.changes.list"}},{"code":"REPOSITORY_CHANGE_QUOTA_EXCEEDED","when":"The account reached its active change-run limit or its rolling 24-hour start limit.","recovery":{"operation":"repositories.changes.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the persisted change workflow.","recovery":{"operation":"repositories.changes.get","requiredFields":["changeId"]}},{"code":"SEO_PUBLICATION_AUTHORITY_REQUIRED","when":"The exact revision, baseline or current user authority could not be validated.","recovery":{"operation":"repositories.list"}},{"code":"SEO_FULL_AUTONOMY_MARKER_FORBIDDEN","when":"A caller supplied evidence reserved for the trusted SEO executor.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_FULL_AUTONOMY_AUTHORITY_REQUIRED","when":"The trusted consent or its current publication authority is invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"SEO_ARTIFACT_BINDING_INVALID","when":"The artifact evidence does not match persisted content and file writes.","recovery":{"operation":"marketing.seo.content.get","requiredFields":["artifactId"]}},{"code":"WEBSITE_TASK_ROUTE_UNAVAILABLE","when":"Account policy cannot supply a paid agent website route.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.changes.propose"}}},{"code":"REPOSITORY_PATH_FORBIDDEN_PATH","when":"The proposed paths include unsafe or forbidden files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SCOPE_EXPANSION","when":"The plan is empty or exceeds the permitted path count.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SKILLS_TOUCHED","when":"The plan modifies an immutable skills tree.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_MIGRATION_OR_SCHEMA_CHANGE","when":"The plan modifies database schema or migrations.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_SENSITIVE_TOPIC_DETECTED","when":"The plan includes secrets or credential files.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_CHANGED_TEST_MISSING","when":"The connection requires a regression test in the plan.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}},{"code":"REPOSITORY_PATH_PATH_NOT_ALLOWLISTED","when":"A proposed path is outside the connection allowlist.","recovery":{"operation":"repositories.get","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/repositories.connect":{"post":{"tags":["Operations: repositories"],"operationId":"repositories.connect","x-moreflow-stability":"stable","x-moreflow-operation-id":"repositories.connect","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"repositories.connect","description":"Registers a credential reference and policy in this account; does not call the Git provider. Verification is requested separately.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectInput"},"examples":{"Repository connect":{"summary":"Repository connect","value":{"name":"Website","provider":"github","repository":"acme/site","purposes":["website"],"credential":{"kind":"none"}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_IDENTIFIER_INVALID","when":"The normalized GitHub identifier is not owner/name.","recovery":{"operation":"repositories.connect","args":{"provider":"github"},"requiredFields":["name","repository","purposes","credential"]}},{"code":"REPOSITORY_CLONE_URL_INVALID","when":"The derived clone URL is not a credential-free HTTPS or SSH URL.","recovery":{"operation":"repositories.connect","requiredFields":["name","provider","repository","cloneUrl","purposes","credential"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The credential names an installation not registered to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"REPOSITORY_CONNECTION_LIMIT_REACHED","when":"The account has reached its connected-repository limit.","recovery":{"operation":"repositories.disconnect","requiredFields":["connectionId"]}},{"code":"REPOSITORY_ALREADY_CONNECTED","when":"An active connection already uses the normalized clone URL.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_IDENTIFIER_INVALID","when":"The normalized GitHub identifier is not owner/name.","recovery":{"operation":"repositories.connect","args":{"provider":"github"},"requiredFields":["name","repository","purposes","credential"]}},{"code":"REPOSITORY_CLONE_URL_INVALID","when":"The derived clone URL is not a credential-free HTTPS or SSH URL.","recovery":{"operation":"repositories.connect","requiredFields":["name","provider","repository","cloneUrl","purposes","credential"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The credential names an installation not registered to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"REPOSITORY_CONNECTION_LIMIT_REACHED","when":"The account has reached its connected-repository limit.","recovery":{"operation":"repositories.disconnect","requiredFields":["connectionId"]}},{"code":"REPOSITORY_ALREADY_CONNECTED","when":"An active connection already uses the normalized clone URL.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_IDENTIFIER_INVALID","when":"The normalized GitHub identifier is not owner/name.","recovery":{"operation":"repositories.connect","args":{"provider":"github"},"requiredFields":["name","repository","purposes","credential"]}},{"code":"REPOSITORY_CLONE_URL_INVALID","when":"The derived clone URL is not a credential-free HTTPS or SSH URL.","recovery":{"operation":"repositories.connect","requiredFields":["name","provider","repository","cloneUrl","purposes","credential"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The credential names an installation not registered to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"REPOSITORY_CONNECTION_LIMIT_REACHED","when":"The account has reached its connected-repository limit.","recovery":{"operation":"repositories.disconnect","requiredFields":["connectionId"]}},{"code":"REPOSITORY_ALREADY_CONNECTED","when":"An active connection already uses the normalized clone URL.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_IDENTIFIER_INVALID","when":"The normalized GitHub identifier is not owner/name.","recovery":{"operation":"repositories.connect","args":{"provider":"github"},"requiredFields":["name","repository","purposes","credential"]}},{"code":"REPOSITORY_CLONE_URL_INVALID","when":"The derived clone URL is not a credential-free HTTPS or SSH URL.","recovery":{"operation":"repositories.connect","requiredFields":["name","provider","repository","cloneUrl","purposes","credential"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The credential names an installation not registered to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"REPOSITORY_CONNECTION_LIMIT_REACHED","when":"The account has reached its connected-repository limit.","recovery":{"operation":"repositories.disconnect","requiredFields":["connectionId"]}},{"code":"REPOSITORY_ALREADY_CONNECTED","when":"An active connection already uses the normalized clone URL.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_IDENTIFIER_INVALID","when":"The normalized GitHub identifier is not owner/name.","recovery":{"operation":"repositories.connect","args":{"provider":"github"},"requiredFields":["name","repository","purposes","credential"]}},{"code":"REPOSITORY_CLONE_URL_INVALID","when":"The derived clone URL is not a credential-free HTTPS or SSH URL.","recovery":{"operation":"repositories.connect","requiredFields":["name","provider","repository","cloneUrl","purposes","credential"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The credential names an installation not registered to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"REPOSITORY_CONNECTION_LIMIT_REACHED","when":"The account has reached its connected-repository limit.","recovery":{"operation":"repositories.disconnect","requiredFields":["connectionId"]}},{"code":"REPOSITORY_ALREADY_CONNECTED","when":"An active connection already uses the normalized clone URL.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_IDENTIFIER_INVALID","when":"The normalized GitHub identifier is not owner/name.","recovery":{"operation":"repositories.connect","args":{"provider":"github"},"requiredFields":["name","repository","purposes","credential"]}},{"code":"REPOSITORY_CLONE_URL_INVALID","when":"The derived clone URL is not a credential-free HTTPS or SSH URL.","recovery":{"operation":"repositories.connect","requiredFields":["name","provider","repository","cloneUrl","purposes","credential"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The credential names an installation not registered to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"REPOSITORY_CONNECTION_LIMIT_REACHED","when":"The account has reached its connected-repository limit.","recovery":{"operation":"repositories.disconnect","requiredFields":["connectionId"]}},{"code":"REPOSITORY_ALREADY_CONNECTED","when":"An active connection already uses the normalized clone URL.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_IDENTIFIER_INVALID","when":"The normalized GitHub identifier is not owner/name.","recovery":{"operation":"repositories.connect","args":{"provider":"github"},"requiredFields":["name","repository","purposes","credential"]}},{"code":"REPOSITORY_CLONE_URL_INVALID","when":"The derived clone URL is not a credential-free HTTPS or SSH URL.","recovery":{"operation":"repositories.connect","requiredFields":["name","provider","repository","cloneUrl","purposes","credential"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The credential names an installation not registered to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"REPOSITORY_CONNECTION_LIMIT_REACHED","when":"The account has reached its connected-repository limit.","recovery":{"operation":"repositories.disconnect","requiredFields":["connectionId"]}},{"code":"REPOSITORY_ALREADY_CONNECTED","when":"An active connection already uses the normalized clone URL.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_IDENTIFIER_INVALID","when":"The normalized GitHub identifier is not owner/name.","recovery":{"operation":"repositories.connect","args":{"provider":"github"},"requiredFields":["name","repository","purposes","credential"]}},{"code":"REPOSITORY_CLONE_URL_INVALID","when":"The derived clone URL is not a credential-free HTTPS or SSH URL.","recovery":{"operation":"repositories.connect","requiredFields":["name","provider","repository","cloneUrl","purposes","credential"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The credential names an installation not registered to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"REPOSITORY_CONNECTION_LIMIT_REACHED","when":"The account has reached its connected-repository limit.","recovery":{"operation":"repositories.disconnect","requiredFields":["connectionId"]}},{"code":"REPOSITORY_ALREADY_CONNECTED","when":"An active connection already uses the normalized clone URL.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_IDENTIFIER_INVALID","when":"The normalized GitHub identifier is not owner/name.","recovery":{"operation":"repositories.connect","args":{"provider":"github"},"requiredFields":["name","repository","purposes","credential"]}},{"code":"REPOSITORY_CLONE_URL_INVALID","when":"The derived clone URL is not a credential-free HTTPS or SSH URL.","recovery":{"operation":"repositories.connect","requiredFields":["name","provider","repository","cloneUrl","purposes","credential"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The credential names an installation not registered to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"REPOSITORY_CONNECTION_LIMIT_REACHED","when":"The account has reached its connected-repository limit.","recovery":{"operation":"repositories.disconnect","requiredFields":["connectionId"]}},{"code":"REPOSITORY_ALREADY_CONNECTED","when":"An active connection already uses the normalized clone URL.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_IDENTIFIER_INVALID","when":"The normalized GitHub identifier is not owner/name.","recovery":{"operation":"repositories.connect","args":{"provider":"github"},"requiredFields":["name","repository","purposes","credential"]}},{"code":"REPOSITORY_CLONE_URL_INVALID","when":"The derived clone URL is not a credential-free HTTPS or SSH URL.","recovery":{"operation":"repositories.connect","requiredFields":["name","provider","repository","cloneUrl","purposes","credential"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The credential names an installation not registered to this account.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.connect"}}},{"code":"REPOSITORY_CONNECTION_LIMIT_REACHED","when":"The account has reached its connected-repository limit.","recovery":{"operation":"repositories.disconnect","requiredFields":["connectionId"]}},{"code":"REPOSITORY_ALREADY_CONNECTED","when":"An active connection already uses the normalized clone URL.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesConnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/repositories.disconnect":{"post":{"tags":["Operations: repositories"],"operationId":"repositories.disconnect","x-moreflow-stability":"stable","x-moreflow-operation-id":"repositories.disconnect","x-moreflow-agent":{"effect":"provider_administration","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"repositories.disconnect","description":"Soft-disconnects the account connection and returns its disconnected resource. Active changes must finish or be cancelled first; the Git provider installation is preserved.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectInput"},"examples":{"Repository disconnect":{"summary":"Repository disconnect","value":{"connectionId":"52000000-0000-4000-8000-000000000101"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A change must finish or be cancelled before disconnecting.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A change must finish or be cancelled before disconnecting.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A change must finish or be cancelled before disconnecting.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A change must finish or be cancelled before disconnecting.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A change must finish or be cancelled before disconnecting.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A change must finish or be cancelled before disconnecting.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A change must finish or be cancelled before disconnecting.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A change must finish or be cancelled before disconnecting.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A change must finish or be cancelled before disconnecting.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.disconnect"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A change must finish or be cancelled before disconnecting.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesDisconnectError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/repositories.get":{"post":{"tags":["Operations: repositories"],"operationId":"repositories.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"repositories.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"repositories.get","description":"Returns the connection resource directly, including the active change summary and management capability; does not access the Git provider.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesGetInput"},"examples":{"Repository get":{"summary":"Repository get","value":{"connectionId":"52000000-0000-4000-8000-000000000101"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The connection does not exist in this account.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/repositories.list":{"post":{"tags":["Operations: repositories"],"operationId":"repositories.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"repositories.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"repositories.list","description":"Returns one cursor page of account connections with the management capability and connection limit; disconnected records are excluded unless requested.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesListInput"},"examples":{"Repository list":{"summary":"Repository list","value":{"limit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or cannot be decoded.","recovery":{"operation":"repositories.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/repositories.update":{"post":{"tags":["Operations: repositories"],"operationId":"repositories.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"repositories.update","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"repositories.update","description":"Merges changed fields into the active connection. Nested policy and credential objects merge recursively; arrays replace. Policy, credential and clone URL changes invalidate verification.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateInput"},"examples":{"Repository update":{"summary":"Repository update","value":{"connectionId":"52000000-0000-4000-8000-000000000101","name":"Website","policy":{"maxPaths":5}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A running change prevents replacing its push policy.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The replacement credential names an unregistered installation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The merged partial policy violates the repository policy invariants.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A running change prevents replacing its push policy.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The replacement credential names an unregistered installation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The merged partial policy violates the repository policy invariants.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A running change prevents replacing its push policy.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The replacement credential names an unregistered installation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The merged partial policy violates the repository policy invariants.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A running change prevents replacing its push policy.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The replacement credential names an unregistered installation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The merged partial policy violates the repository policy invariants.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A running change prevents replacing its push policy.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The replacement credential names an unregistered installation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The merged partial policy violates the repository policy invariants.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A running change prevents replacing its push policy.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The replacement credential names an unregistered installation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The merged partial policy violates the repository policy invariants.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A running change prevents replacing its push policy.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The replacement credential names an unregistered installation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The merged partial policy violates the repository policy invariants.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A running change prevents replacing its push policy.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The replacement credential names an unregistered installation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The merged partial policy violates the repository policy invariants.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A running change prevents replacing its push policy.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The replacement credential names an unregistered installation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The merged partial policy violates the repository policy invariants.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"REPOSITORY_CHANGE_ACTIVE","when":"A running change prevents replacing its push policy.","recovery":{"operation":"repositories.changes.cancel","requiredFields":["changeId"]}},{"code":"GITHUB_INSTALLATION_UNKNOWN","when":"The replacement credential names an unregistered installation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.update"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The merged partial policy violates the repository policy invariants.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","policy"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/repositories.verify":{"post":{"tags":["Operations: repositories"],"operationId":"repositories.verify","x-moreflow-stability":"stable","x-moreflow-operation-id":"repositories.verify","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"repositories.verify","description":"Marks the connection verifying and starts its isolated Temporal verification workflow. Repeated requests reuse an active verification; provider credentials never leave the worker.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyInput"},"examples":{"Verify the connection":{"summary":"Verify the connection","value":{"connectionId":"52000000-0000-4000-8000-000000000101"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the verification workflow; retry verification.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the verification workflow; retry verification.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the verification workflow; retry verification.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the verification workflow; retry verification.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the verification workflow; retry verification.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the verification workflow; retry verification.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the verification workflow; retry verification.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the verification workflow; retry verification.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the verification workflow; retry verification.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"repositories.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The target connection is absent or disconnected.","recovery":{"operation":"repositories.list"}},{"code":"TEMPORAL_START_FAILED","when":"Temporal could not start the verification workflow; retry verification.","recovery":{"operation":"repositories.verify","requiredFields":["connectionId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRepositoriesVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/revenueJourney.get":{"post":{"tags":["Operations: revenueJourney"],"operationId":"revenueJourney.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"revenueJourney.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"revenueJourney.get","description":"Evaluates a client’s commercial journey (optionally pinned to one offerId) and returns its current stage, the reason code, any blockers, and the next actions that are permitted right now, computed in the given IANA timeZone. Optional nowAt overrides the reference time. Read-only; use it before proposing offers, contracts, or payment steps so the suggested action fits the stage.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRevenueJourneyGetInput"},"examples":{"Decide the next commercial step for a client":{"summary":"Decide the next commercial step for a client","value":{"clientId":"3e9a6b1d-5c2f-4a8e-b7d4-9f0c1e2a3b4d","timeZone":"Europe/Berlin"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRevenueJourneyGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. offerId does not identify an offer in the authenticated account.","recovery":{"operation":"offers.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected offer belongs to a different client than clientId.","recovery":{"operation":"revenueJourney.get","requiredFields":["offerId","timeZone"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRevenueJourneyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. offerId does not identify an offer in the authenticated account.","recovery":{"operation":"offers.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected offer belongs to a different client than clientId.","recovery":{"operation":"revenueJourney.get","requiredFields":["offerId","timeZone"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRevenueJourneyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. offerId does not identify an offer in the authenticated account.","recovery":{"operation":"offers.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected offer belongs to a different client than clientId.","recovery":{"operation":"revenueJourney.get","requiredFields":["offerId","timeZone"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRevenueJourneyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. offerId does not identify an offer in the authenticated account.","recovery":{"operation":"offers.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected offer belongs to a different client than clientId.","recovery":{"operation":"revenueJourney.get","requiredFields":["offerId","timeZone"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRevenueJourneyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. offerId does not identify an offer in the authenticated account.","recovery":{"operation":"offers.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected offer belongs to a different client than clientId.","recovery":{"operation":"revenueJourney.get","requiredFields":["offerId","timeZone"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRevenueJourneyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. offerId does not identify an offer in the authenticated account.","recovery":{"operation":"offers.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected offer belongs to a different client than clientId.","recovery":{"operation":"revenueJourney.get","requiredFields":["offerId","timeZone"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRevenueJourneyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. offerId does not identify an offer in the authenticated account.","recovery":{"operation":"offers.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected offer belongs to a different client than clientId.","recovery":{"operation":"revenueJourney.get","requiredFields":["offerId","timeZone"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRevenueJourneyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. offerId does not identify an offer in the authenticated account.","recovery":{"operation":"offers.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected offer belongs to a different client than clientId.","recovery":{"operation":"revenueJourney.get","requiredFields":["offerId","timeZone"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRevenueJourneyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"revenueJourney.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. offerId does not identify an offer in the authenticated account.","recovery":{"operation":"offers.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected offer belongs to a different client than clientId.","recovery":{"operation":"revenueJourney.get","requiredFields":["offerId","timeZone"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationRevenueJourneyGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/search.records.search":{"post":{"tags":["Operations: search"],"operationId":"search.records.search","x-moreflow-stability":"stable","x-moreflow-operation-id":"search.records.search","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"search.records.search","description":"Search clients, deals, offers, invoice numbers, contracts, meetings, sales notes and stored messages in the authenticated account; returns one flat list of typed hits (each carrying entityType, the matching field and a native navigation target) in relevance order within each entity type, at most limitPerGroup hits per type. Read-only. Public credentials also need each searched domain read scope; ungranted entity types are omitted. Results are a single bounded page (nextCursor is null); narrow with entityTypes or a more specific query to reach further matches.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSearchRecordsSearchInput"},"examples":{"Find a client and related records":{"summary":"Find a client and related records","value":{"query":"Müller","limitPerGroup":5}},"Find invoices by number":{"summary":"Find invoices by number","value":{"query":"2026","entityTypes":["invoice"],"limitPerGroup":10}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSearchRecordsSearchOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSearchRecordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSearchRecordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSearchRecordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSearchRecordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSearchRecordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSearchRecordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSearchRecordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSearchRecordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"search.records.search"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSearchRecordsSearchError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.create":{"post":{"tags":["Operations: sites"],"operationId":"sites.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.create","description":"Import step after repositories.github.repositories.list (reuse its connectionId) or repositories.connect (purpose website, the repositories.github.inspect proposal). Records the site with its build settings, then builds the head of the production branch as the first production deployment, which goes live when ready (deploy false skips it). When that deployment cannot start, the site is still created and initialDeployment.problem names the recovery. Deployability is not re-checked here: repositories.github.inspect reports it, and an undeployable repository fails its build with the reason in the build log.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateInput"},"examples":{"Import site":{"summary":"Import site","value":{"repositoryConnectionId":"52000000-0000-4000-8000-000000000101","productionBranch":"main"}},"Import monorepo app":{"summary":"Import monorepo app","value":{"repositoryConnectionId":"52000000-0000-4000-8000-000000000101","productionBranch":"main","rootDirectory":"apps/web"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The repository connection does not exist or is disconnected.","recovery":{"operation":"repositories.list"}},{"code":"SITE_REPOSITORY_PURPOSE_MISMATCH","when":"The repository connection does not have purpose website.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","purposes"]}},{"code":"SITE_ALREADY_EXISTS","when":"The connection already has a site (recovery reads it), or the slug is taken.","recovery":{"operation":"sites.get","requiredFields":["siteId"]}},{"code":"SITE_LIMIT_REACHED","when":"The account has reached its site limit.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The repository connection does not exist or is disconnected.","recovery":{"operation":"repositories.list"}},{"code":"SITE_REPOSITORY_PURPOSE_MISMATCH","when":"The repository connection does not have purpose website.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","purposes"]}},{"code":"SITE_ALREADY_EXISTS","when":"The connection already has a site (recovery reads it), or the slug is taken.","recovery":{"operation":"sites.get","requiredFields":["siteId"]}},{"code":"SITE_LIMIT_REACHED","when":"The account has reached its site limit.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The repository connection does not exist or is disconnected.","recovery":{"operation":"repositories.list"}},{"code":"SITE_REPOSITORY_PURPOSE_MISMATCH","when":"The repository connection does not have purpose website.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","purposes"]}},{"code":"SITE_ALREADY_EXISTS","when":"The connection already has a site (recovery reads it), or the slug is taken.","recovery":{"operation":"sites.get","requiredFields":["siteId"]}},{"code":"SITE_LIMIT_REACHED","when":"The account has reached its site limit.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The repository connection does not exist or is disconnected.","recovery":{"operation":"repositories.list"}},{"code":"SITE_REPOSITORY_PURPOSE_MISMATCH","when":"The repository connection does not have purpose website.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","purposes"]}},{"code":"SITE_ALREADY_EXISTS","when":"The connection already has a site (recovery reads it), or the slug is taken.","recovery":{"operation":"sites.get","requiredFields":["siteId"]}},{"code":"SITE_LIMIT_REACHED","when":"The account has reached its site limit.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The repository connection does not exist or is disconnected.","recovery":{"operation":"repositories.list"}},{"code":"SITE_REPOSITORY_PURPOSE_MISMATCH","when":"The repository connection does not have purpose website.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","purposes"]}},{"code":"SITE_ALREADY_EXISTS","when":"The connection already has a site (recovery reads it), or the slug is taken.","recovery":{"operation":"sites.get","requiredFields":["siteId"]}},{"code":"SITE_LIMIT_REACHED","when":"The account has reached its site limit.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The repository connection does not exist or is disconnected.","recovery":{"operation":"repositories.list"}},{"code":"SITE_REPOSITORY_PURPOSE_MISMATCH","when":"The repository connection does not have purpose website.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","purposes"]}},{"code":"SITE_ALREADY_EXISTS","when":"The connection already has a site (recovery reads it), or the slug is taken.","recovery":{"operation":"sites.get","requiredFields":["siteId"]}},{"code":"SITE_LIMIT_REACHED","when":"The account has reached its site limit.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The repository connection does not exist or is disconnected.","recovery":{"operation":"repositories.list"}},{"code":"SITE_REPOSITORY_PURPOSE_MISMATCH","when":"The repository connection does not have purpose website.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","purposes"]}},{"code":"SITE_ALREADY_EXISTS","when":"The connection already has a site (recovery reads it), or the slug is taken.","recovery":{"operation":"sites.get","requiredFields":["siteId"]}},{"code":"SITE_LIMIT_REACHED","when":"The account has reached its site limit.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The repository connection does not exist or is disconnected.","recovery":{"operation":"repositories.list"}},{"code":"SITE_REPOSITORY_PURPOSE_MISMATCH","when":"The repository connection does not have purpose website.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","purposes"]}},{"code":"SITE_ALREADY_EXISTS","when":"The connection already has a site (recovery reads it), or the slug is taken.","recovery":{"operation":"sites.get","requiredFields":["siteId"]}},{"code":"SITE_LIMIT_REACHED","when":"The account has reached its site limit.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The repository connection does not exist or is disconnected.","recovery":{"operation":"repositories.list"}},{"code":"SITE_REPOSITORY_PURPOSE_MISMATCH","when":"The repository connection does not have purpose website.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","purposes"]}},{"code":"SITE_ALREADY_EXISTS","when":"The connection already has a site (recovery reads it), or the slug is taken.","recovery":{"operation":"sites.get","requiredFields":["siteId"]}},{"code":"SITE_LIMIT_REACHED","when":"The account has reached its site limit.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"REPOSITORY_CONNECTION_NOT_FOUND","when":"The repository connection does not exist or is disconnected.","recovery":{"operation":"repositories.list"}},{"code":"SITE_REPOSITORY_PURPOSE_MISMATCH","when":"The repository connection does not have purpose website.","recovery":{"operation":"repositories.update","requiredFields":["connectionId","purposes"]}},{"code":"SITE_ALREADY_EXISTS","when":"The connection already has a site (recovery reads it), or the slug is taken.","recovery":{"operation":"sites.get","requiredFields":["siteId"]}},{"code":"SITE_LIMIT_REACHED","when":"The account has reached its site limit.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.deployments.create":{"post":{"tags":["Operations: sites"],"operationId":"sites.deployments.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.deployments.create","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"sites.deployments.create","description":"Records a queued deployment with its worker script name and starts the build pipeline when it is available. Production deployments still go live only through promote.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateInput"},"examples":{"Preview deployment":{"summary":"Preview deployment","value":{"siteId":"52000000-0000-4000-8000-000000000301","commitSha":"a1b2c3d","branch":"feature/hero","pullRequestNumber":12}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.deployments.get":{"post":{"tags":["Operations: sites"],"operationId":"sites.deployments.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.deployments.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.deployments.get","description":"Poll this while a deployment builds; it reports status, error and preview URL.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetInput"},"examples":{"Get deployment":{"summary":"Get deployment","value":{"siteId":"52000000-0000-4000-8000-000000000301","deploymentId":"52000000-0000-4000-8000-000000000401"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.deployments.list":{"post":{"tags":["Operations: sites"],"operationId":"sites.deployments.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.deployments.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.deployments.list","description":"Returns preview and production deployments with status, preview URL and which one is live.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsListInput"},"examples":{"List deployments":{"summary":"List deployments","value":{"siteId":"52000000-0000-4000-8000-000000000301"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.deployments.logs.list":{"post":{"tags":["Operations: sites"],"operationId":"sites.deployments.logs.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.deployments.logs.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.deployments.logs.list","description":"Step entries mark clone, install, build and upload starting, succeeding or failing; output entries carry the sanitized command output. Poll with after = nextCursor until finished is true and hasMore is false.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListInput"},"examples":{"Read build log":{"summary":"Read build log","value":{"siteId":"52000000-0000-4000-8000-000000000301","deploymentId":"52000000-0000-4000-8000-000000000401","after":0}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.logs.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsLogsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.deployments.publish":{"post":{"tags":["Operations: sites"],"operationId":"sites.deployments.publish","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.deployments.publish","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"sites.deployments.publish","description":"Rewrites the routing config of every site domain to the deployment script, then moves the production pointer.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishInput"},"examples":{"Promote":{"summary":"Promote","value":{"siteId":"52000000-0000-4000-8000-000000000301","deploymentId":"52000000-0000-4000-8000-000000000401"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.publish"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.deployments.restore":{"post":{"tags":["Operations: sites"],"operationId":"sites.deployments.restore","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.deployments.restore","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"sites.deployments.restore","description":"One operation: without a deploymentId it returns to the previously live deployment, whose worker script is still uploaded.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreInput"},"examples":{"Rollback":{"summary":"Rollback","value":{"siteId":"52000000-0000-4000-8000-000000000301"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"SITE_ROLLBACK_TARGET_MISSING","when":"No earlier live deployment exists to return to.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"SITE_ROLLBACK_TARGET_MISSING","when":"No earlier live deployment exists to return to.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"SITE_ROLLBACK_TARGET_MISSING","when":"No earlier live deployment exists to return to.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"SITE_ROLLBACK_TARGET_MISSING","when":"No earlier live deployment exists to return to.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"SITE_ROLLBACK_TARGET_MISSING","when":"No earlier live deployment exists to return to.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"SITE_ROLLBACK_TARGET_MISSING","when":"No earlier live deployment exists to return to.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"SITE_ROLLBACK_TARGET_MISSING","when":"No earlier live deployment exists to return to.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"SITE_ROLLBACK_TARGET_MISSING","when":"No earlier live deployment exists to return to.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"SITE_ROLLBACK_TARGET_MISSING","when":"No earlier live deployment exists to return to.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DEPLOYMENT_NOT_FOUND","when":"The deployment does not belong to this site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_DEPLOYMENT_NOT_READY","when":"The deployment has not finished building or failed.","recovery":{"operation":"sites.deployments.get","requiredFields":["siteId","deploymentId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.deployments.restore"}}},{"code":"SITE_ROLLBACK_TARGET_MISSING","when":"No earlier live deployment exists to return to.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDeploymentsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.domains.create":{"post":{"tags":["Operations: sites"],"operationId":"sites.domains.create","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.domains.create","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"sites.domains.create","description":"The given hostname becomes primary. A root domain must be a zone in moreflow DNS (no CNAME at the apex): the routing worker is attached to it and to www, which answers 308 to the root. A www hostname in a managed zone is primary with the root redirecting to it. A subdomain at external DNS gets a Cloudflare for SaaS custom hostname and returns the exact CNAME and TXT records; poll sites.domains.verify until active. Switch the primary with sites.domains.update.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateInput"},"examples":{"Root domain":{"summary":"Root domain","value":{"siteId":"52000000-0000-4000-8000-000000000301","hostname":"example.de"}},"Subdomain at external DNS":{"summary":"Subdomain at external DNS","value":{"siteId":"52000000-0000-4000-8000-000000000301","hostname":"shop.example.de"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_INVALID","when":"The hostname is not a valid domain name.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_USE_APEX","when":"Deprecated, no longer returned: a www hostname is accepted and becomes primary with the root redirecting to it.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_MODE_INVALID","when":"custom_hostname was requested for a root domain, which cannot be a CNAME.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_TAKEN","when":"Another site or Cloudflare zone already serves the hostname; when it is the redirect host of a domain of this site, recovery makes it primary.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_LIMIT_REACHED","when":"The site already has the maximum number of domains.","recovery":{"operation":"sites.domains.delete","requiredFields":["siteId","domainId"]}},{"code":"SITE_DOMAIN_ZONE_NOT_FOUND","when":"The root domain is not a zone in moreflow DNS; import it first.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_DOMAIN_ZONE_NOT_ACTIVE","when":"The zone exists but its nameservers do not point to moreflow yet.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_INVALID","when":"The hostname is not a valid domain name.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_USE_APEX","when":"Deprecated, no longer returned: a www hostname is accepted and becomes primary with the root redirecting to it.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_MODE_INVALID","when":"custom_hostname was requested for a root domain, which cannot be a CNAME.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_TAKEN","when":"Another site or Cloudflare zone already serves the hostname; when it is the redirect host of a domain of this site, recovery makes it primary.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_LIMIT_REACHED","when":"The site already has the maximum number of domains.","recovery":{"operation":"sites.domains.delete","requiredFields":["siteId","domainId"]}},{"code":"SITE_DOMAIN_ZONE_NOT_FOUND","when":"The root domain is not a zone in moreflow DNS; import it first.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_DOMAIN_ZONE_NOT_ACTIVE","when":"The zone exists but its nameservers do not point to moreflow yet.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_INVALID","when":"The hostname is not a valid domain name.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_USE_APEX","when":"Deprecated, no longer returned: a www hostname is accepted and becomes primary with the root redirecting to it.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_MODE_INVALID","when":"custom_hostname was requested for a root domain, which cannot be a CNAME.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_TAKEN","when":"Another site or Cloudflare zone already serves the hostname; when it is the redirect host of a domain of this site, recovery makes it primary.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_LIMIT_REACHED","when":"The site already has the maximum number of domains.","recovery":{"operation":"sites.domains.delete","requiredFields":["siteId","domainId"]}},{"code":"SITE_DOMAIN_ZONE_NOT_FOUND","when":"The root domain is not a zone in moreflow DNS; import it first.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_DOMAIN_ZONE_NOT_ACTIVE","when":"The zone exists but its nameservers do not point to moreflow yet.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_INVALID","when":"The hostname is not a valid domain name.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_USE_APEX","when":"Deprecated, no longer returned: a www hostname is accepted and becomes primary with the root redirecting to it.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_MODE_INVALID","when":"custom_hostname was requested for a root domain, which cannot be a CNAME.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_TAKEN","when":"Another site or Cloudflare zone already serves the hostname; when it is the redirect host of a domain of this site, recovery makes it primary.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_LIMIT_REACHED","when":"The site already has the maximum number of domains.","recovery":{"operation":"sites.domains.delete","requiredFields":["siteId","domainId"]}},{"code":"SITE_DOMAIN_ZONE_NOT_FOUND","when":"The root domain is not a zone in moreflow DNS; import it first.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_DOMAIN_ZONE_NOT_ACTIVE","when":"The zone exists but its nameservers do not point to moreflow yet.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_INVALID","when":"The hostname is not a valid domain name.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_USE_APEX","when":"Deprecated, no longer returned: a www hostname is accepted and becomes primary with the root redirecting to it.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_MODE_INVALID","when":"custom_hostname was requested for a root domain, which cannot be a CNAME.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_TAKEN","when":"Another site or Cloudflare zone already serves the hostname; when it is the redirect host of a domain of this site, recovery makes it primary.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_LIMIT_REACHED","when":"The site already has the maximum number of domains.","recovery":{"operation":"sites.domains.delete","requiredFields":["siteId","domainId"]}},{"code":"SITE_DOMAIN_ZONE_NOT_FOUND","when":"The root domain is not a zone in moreflow DNS; import it first.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_DOMAIN_ZONE_NOT_ACTIVE","when":"The zone exists but its nameservers do not point to moreflow yet.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_INVALID","when":"The hostname is not a valid domain name.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_USE_APEX","when":"Deprecated, no longer returned: a www hostname is accepted and becomes primary with the root redirecting to it.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_MODE_INVALID","when":"custom_hostname was requested for a root domain, which cannot be a CNAME.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_TAKEN","when":"Another site or Cloudflare zone already serves the hostname; when it is the redirect host of a domain of this site, recovery makes it primary.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_LIMIT_REACHED","when":"The site already has the maximum number of domains.","recovery":{"operation":"sites.domains.delete","requiredFields":["siteId","domainId"]}},{"code":"SITE_DOMAIN_ZONE_NOT_FOUND","when":"The root domain is not a zone in moreflow DNS; import it first.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_DOMAIN_ZONE_NOT_ACTIVE","when":"The zone exists but its nameservers do not point to moreflow yet.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_INVALID","when":"The hostname is not a valid domain name.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_USE_APEX","when":"Deprecated, no longer returned: a www hostname is accepted and becomes primary with the root redirecting to it.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_MODE_INVALID","when":"custom_hostname was requested for a root domain, which cannot be a CNAME.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_TAKEN","when":"Another site or Cloudflare zone already serves the hostname; when it is the redirect host of a domain of this site, recovery makes it primary.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_LIMIT_REACHED","when":"The site already has the maximum number of domains.","recovery":{"operation":"sites.domains.delete","requiredFields":["siteId","domainId"]}},{"code":"SITE_DOMAIN_ZONE_NOT_FOUND","when":"The root domain is not a zone in moreflow DNS; import it first.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_DOMAIN_ZONE_NOT_ACTIVE","when":"The zone exists but its nameservers do not point to moreflow yet.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_INVALID","when":"The hostname is not a valid domain name.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_USE_APEX","when":"Deprecated, no longer returned: a www hostname is accepted and becomes primary with the root redirecting to it.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_MODE_INVALID","when":"custom_hostname was requested for a root domain, which cannot be a CNAME.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_TAKEN","when":"Another site or Cloudflare zone already serves the hostname; when it is the redirect host of a domain of this site, recovery makes it primary.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_LIMIT_REACHED","when":"The site already has the maximum number of domains.","recovery":{"operation":"sites.domains.delete","requiredFields":["siteId","domainId"]}},{"code":"SITE_DOMAIN_ZONE_NOT_FOUND","when":"The root domain is not a zone in moreflow DNS; import it first.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_DOMAIN_ZONE_NOT_ACTIVE","when":"The zone exists but its nameservers do not point to moreflow yet.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_INVALID","when":"The hostname is not a valid domain name.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_USE_APEX","when":"Deprecated, no longer returned: a www hostname is accepted and becomes primary with the root redirecting to it.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_MODE_INVALID","when":"custom_hostname was requested for a root domain, which cannot be a CNAME.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_TAKEN","when":"Another site or Cloudflare zone already serves the hostname; when it is the redirect host of a domain of this site, recovery makes it primary.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_LIMIT_REACHED","when":"The site already has the maximum number of domains.","recovery":{"operation":"sites.domains.delete","requiredFields":["siteId","domainId"]}},{"code":"SITE_DOMAIN_ZONE_NOT_FOUND","when":"The root domain is not a zone in moreflow DNS; import it first.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_DOMAIN_ZONE_NOT_ACTIVE","when":"The zone exists but its nameservers do not point to moreflow yet.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_INVALID","when":"The hostname is not a valid domain name.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_USE_APEX","when":"Deprecated, no longer returned: a www hostname is accepted and becomes primary with the root redirecting to it.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_MODE_INVALID","when":"custom_hostname was requested for a root domain, which cannot be a CNAME.","recovery":{"operation":"sites.domains.create","requiredFields":["siteId","hostname"]}},{"code":"SITE_DOMAIN_TAKEN","when":"Another site or Cloudflare zone already serves the hostname; when it is the redirect host of a domain of this site, recovery makes it primary.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_LIMIT_REACHED","when":"The site already has the maximum number of domains.","recovery":{"operation":"sites.domains.delete","requiredFields":["siteId","domainId"]}},{"code":"SITE_DOMAIN_ZONE_NOT_FOUND","when":"The root domain is not a zone in moreflow DNS; import it first.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_DOMAIN_ZONE_NOT_ACTIVE","when":"The zone exists but its nameservers do not point to moreflow yet.","recovery":{"operation":"domains.dns.zones.import","requiredFields":["domain"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.domains.delete":{"post":{"tags":["Operations: sites"],"operationId":"sites.domains.delete","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.domains.delete","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"sites.domains.delete","description":"Detaches the routing worker or deletes the custom hostname, removes the routing config and deletes the domain. DNS records in moreflow DNS are left unchanged.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteInput"},"examples":{"Remove domain":{"summary":"Remove domain","value":{"siteId":"52000000-0000-4000-8000-000000000301","domainId":"52000000-0000-4000-8000-000000000501"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.delete"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.domains.list":{"post":{"tags":["Operations: sites"],"operationId":"sites.domains.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.domains.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.domains.list","description":"Returns each domain with its mode, status and the DNS records still to create.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsListInput"},"examples":{"List domains":{"summary":"List domains","value":{"siteId":"52000000-0000-4000-8000-000000000301"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.domains.update":{"post":{"tags":["Operations: sites"],"operationId":"sites.domains.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.domains.update","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"sites.domains.update","description":"Swaps the primary hostname with its root/www counterpart from redirectHostnames and rewrites the routing config: the primary serves the live deployment, the counterpart answers 308 to it. Passing the current primary re-applies the routing.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateInput"},"examples":{"Make www primary":{"summary":"Make www primary","value":{"siteId":"52000000-0000-4000-8000-000000000301","domainId":"52000000-0000-4000-8000-000000000501","primaryHostname":"www.example.de"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_PRIMARY_INVALID","when":"primaryHostname is neither the domain's hostname nor one of its redirectHostnames.","recovery":{"operation":"sites.domains.update","requiredFields":["siteId","domainId","primaryHostname"]}},{"code":"SITE_DOMAIN_NOT_VERIFIED","when":"The domain is not active yet, so its hosts cannot serve HTTPS; verify it first.","recovery":{"operation":"sites.domains.verify","requiredFields":["siteId","domainId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_PRIMARY_INVALID","when":"primaryHostname is neither the domain's hostname nor one of its redirectHostnames.","recovery":{"operation":"sites.domains.update","requiredFields":["siteId","domainId","primaryHostname"]}},{"code":"SITE_DOMAIN_NOT_VERIFIED","when":"The domain is not active yet, so its hosts cannot serve HTTPS; verify it first.","recovery":{"operation":"sites.domains.verify","requiredFields":["siteId","domainId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_PRIMARY_INVALID","when":"primaryHostname is neither the domain's hostname nor one of its redirectHostnames.","recovery":{"operation":"sites.domains.update","requiredFields":["siteId","domainId","primaryHostname"]}},{"code":"SITE_DOMAIN_NOT_VERIFIED","when":"The domain is not active yet, so its hosts cannot serve HTTPS; verify it first.","recovery":{"operation":"sites.domains.verify","requiredFields":["siteId","domainId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_PRIMARY_INVALID","when":"primaryHostname is neither the domain's hostname nor one of its redirectHostnames.","recovery":{"operation":"sites.domains.update","requiredFields":["siteId","domainId","primaryHostname"]}},{"code":"SITE_DOMAIN_NOT_VERIFIED","when":"The domain is not active yet, so its hosts cannot serve HTTPS; verify it first.","recovery":{"operation":"sites.domains.verify","requiredFields":["siteId","domainId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_PRIMARY_INVALID","when":"primaryHostname is neither the domain's hostname nor one of its redirectHostnames.","recovery":{"operation":"sites.domains.update","requiredFields":["siteId","domainId","primaryHostname"]}},{"code":"SITE_DOMAIN_NOT_VERIFIED","when":"The domain is not active yet, so its hosts cannot serve HTTPS; verify it first.","recovery":{"operation":"sites.domains.verify","requiredFields":["siteId","domainId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_PRIMARY_INVALID","when":"primaryHostname is neither the domain's hostname nor one of its redirectHostnames.","recovery":{"operation":"sites.domains.update","requiredFields":["siteId","domainId","primaryHostname"]}},{"code":"SITE_DOMAIN_NOT_VERIFIED","when":"The domain is not active yet, so its hosts cannot serve HTTPS; verify it first.","recovery":{"operation":"sites.domains.verify","requiredFields":["siteId","domainId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_PRIMARY_INVALID","when":"primaryHostname is neither the domain's hostname nor one of its redirectHostnames.","recovery":{"operation":"sites.domains.update","requiredFields":["siteId","domainId","primaryHostname"]}},{"code":"SITE_DOMAIN_NOT_VERIFIED","when":"The domain is not active yet, so its hosts cannot serve HTTPS; verify it first.","recovery":{"operation":"sites.domains.verify","requiredFields":["siteId","domainId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_PRIMARY_INVALID","when":"primaryHostname is neither the domain's hostname nor one of its redirectHostnames.","recovery":{"operation":"sites.domains.update","requiredFields":["siteId","domainId","primaryHostname"]}},{"code":"SITE_DOMAIN_NOT_VERIFIED","when":"The domain is not active yet, so its hosts cannot serve HTTPS; verify it first.","recovery":{"operation":"sites.domains.verify","requiredFields":["siteId","domainId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_PRIMARY_INVALID","when":"primaryHostname is neither the domain's hostname nor one of its redirectHostnames.","recovery":{"operation":"sites.domains.update","requiredFields":["siteId","domainId","primaryHostname"]}},{"code":"SITE_DOMAIN_NOT_VERIFIED","when":"The domain is not active yet, so its hosts cannot serve HTTPS; verify it first.","recovery":{"operation":"sites.domains.verify","requiredFields":["siteId","domainId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_DOMAIN_PRIMARY_INVALID","when":"primaryHostname is neither the domain's hostname nor one of its redirectHostnames.","recovery":{"operation":"sites.domains.update","requiredFields":["siteId","domainId","primaryHostname"]}},{"code":"SITE_DOMAIN_NOT_VERIFIED","when":"The domain is not active yet, so its hosts cannot serve HTTPS; verify it first.","recovery":{"operation":"sites.domains.verify","requiredFields":["siteId","domainId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.update"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.domains.verify":{"post":{"tags":["Operations: sites"],"operationId":"sites.domains.verify","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.domains.verify","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.domains.verify","description":"Polls Cloudflare and stores the current status, the records still to create and any validation errors.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyInput"},"examples":{"Verify domain":{"summary":"Verify domain","value":{"siteId":"52000000-0000-4000-8000-000000000301","domainId":"52000000-0000-4000-8000-000000000501"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_DOMAIN_NOT_FOUND","when":"The domain does not belong to this site.","recovery":{"operation":"sites.domains.list","requiredFields":["siteId"]}},{"code":"SITE_HOSTING_NOT_CONFIGURED","when":"The Cloudflare site hosting variables are missing on this API.","recovery":{"operation":"sites.list"}},{"code":"SITE_HOSTING_PROVIDER_ERROR","when":"Cloudflare rejected or did not answer the request; retry the operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.domains.verify"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesDomainsVerifyError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.get":{"post":{"tags":["Operations: sites"],"operationId":"sites.get","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.get","description":"Returns the site with its repository connection, production branch and live deployment.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesGetInput"},"examples":{"Get site":{"summary":"Get site","value":{"siteId":"52000000-0000-4000-8000-000000000301"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.list":{"post":{"tags":["Operations: sites"],"operationId":"sites.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.list","description":"Returns every site with its production pointer, the manage capability and the site limit.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesListInput"},"examples":{"List sites":{"summary":"List sites","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.parity.run":{"post":{"tags":["Operations: sites"],"operationId":"sites.parity.run","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.parity.run","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.parity.run","description":"Fetches each URL (default: the reference sitemap) on both origins with GET only, at most two at a time, and returns every check with both values. Candidate values have the candidate origin replaced by the reference origin; JSON-LD is key-sorted. A run has a time budget and a window (offset, limit); nextOffset continues it. Sitemap, robots.txt and the 301 map are checked in the run with offset 0. Screenshots are compared by sites.parity.visual.run over the same URL list and offsets.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunInput"},"examples":{"Preview against the live site":{"summary":"Preview against the live site","value":{"siteId":"52000000-0000-4000-8000-000000000301","referenceOrigin":"https://mpu-west.nrw","candidateOrigin":"https://a1b2c3d-mpu-west.preview.example.com"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher for parity checks is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher for parity checks is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher for parity checks is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher for parity checks is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher for parity checks is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher for parity checks is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher for parity checks is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher for parity checks is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher for parity checks is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher for parity checks is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.run"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.parity.visual.run":{"post":{"tags":["Operations: sites"],"operationId":"sites.parity.visual.run","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.parity.visual.run","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"never","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.parity.visual.run","description":"Loads each URL (default: the reference sitemap, the same list and offsets as sites.parity.run) on both origins in one isolated browser session on the browser worker, one page at a time, at desktop 1440×900, mobile 390×844. Full-page screenshots up to 6000 px high are compared pixel by pixel; the compared area is the larger of both sizes, so a page that changed size differs by the missing area. A viewport passes when its differenceRatio is at most threshold; differenceBounds locates the change. maskSelectors hides dynamic regions on both sides. Screenshots are not stored. A run has a time budget and a window (offset, limit); nextOffset continues it.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunInput"},"examples":{"Preview against the live site":{"summary":"Preview against the live site","value":{"siteId":"52000000-0000-4000-8000-000000000301","referenceOrigin":"https://mpu-west.nrw","candidateOrigin":"https://a1b2c3d-mpu-west.preview.example.com"}},"Next window, desktop only, with a cookie banner masked":{"summary":"Next window, desktop only, with a cookie banner masked","value":{"referenceOrigin":"https://mpu-west.nrw","candidateOrigin":"https://a1b2c3d-mpu-west.preview.example.com","offset":5,"viewports":["desktop"],"maskSelectors":["#cookie-banner"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher that reads the sitemap is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_VISUAL_NOT_CONFIGURED","when":"This runtime has no browser worker for screenshots; the SEO check still runs.","recovery":{"operation":"sites.parity.run","requiredFields":["referenceOrigin","candidateOrigin"]}},{"code":"SITE_PARITY_VISUAL_BROWSER_UNAVAILABLE","when":"The browser worker could not start a session (capacity, drain or launch failure); retry later.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["referenceOrigin","candidateOrigin"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher that reads the sitemap is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_VISUAL_NOT_CONFIGURED","when":"This runtime has no browser worker for screenshots; the SEO check still runs.","recovery":{"operation":"sites.parity.run","requiredFields":["referenceOrigin","candidateOrigin"]}},{"code":"SITE_PARITY_VISUAL_BROWSER_UNAVAILABLE","when":"The browser worker could not start a session (capacity, drain or launch failure); retry later.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["referenceOrigin","candidateOrigin"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher that reads the sitemap is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_VISUAL_NOT_CONFIGURED","when":"This runtime has no browser worker for screenshots; the SEO check still runs.","recovery":{"operation":"sites.parity.run","requiredFields":["referenceOrigin","candidateOrigin"]}},{"code":"SITE_PARITY_VISUAL_BROWSER_UNAVAILABLE","when":"The browser worker could not start a session (capacity, drain or launch failure); retry later.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["referenceOrigin","candidateOrigin"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher that reads the sitemap is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_VISUAL_NOT_CONFIGURED","when":"This runtime has no browser worker for screenshots; the SEO check still runs.","recovery":{"operation":"sites.parity.run","requiredFields":["referenceOrigin","candidateOrigin"]}},{"code":"SITE_PARITY_VISUAL_BROWSER_UNAVAILABLE","when":"The browser worker could not start a session (capacity, drain or launch failure); retry later.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["referenceOrigin","candidateOrigin"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher that reads the sitemap is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_VISUAL_NOT_CONFIGURED","when":"This runtime has no browser worker for screenshots; the SEO check still runs.","recovery":{"operation":"sites.parity.run","requiredFields":["referenceOrigin","candidateOrigin"]}},{"code":"SITE_PARITY_VISUAL_BROWSER_UNAVAILABLE","when":"The browser worker could not start a session (capacity, drain or launch failure); retry later.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["referenceOrigin","candidateOrigin"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher that reads the sitemap is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_VISUAL_NOT_CONFIGURED","when":"This runtime has no browser worker for screenshots; the SEO check still runs.","recovery":{"operation":"sites.parity.run","requiredFields":["referenceOrigin","candidateOrigin"]}},{"code":"SITE_PARITY_VISUAL_BROWSER_UNAVAILABLE","when":"The browser worker could not start a session (capacity, drain or launch failure); retry later.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["referenceOrigin","candidateOrigin"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher that reads the sitemap is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_VISUAL_NOT_CONFIGURED","when":"This runtime has no browser worker for screenshots; the SEO check still runs.","recovery":{"operation":"sites.parity.run","requiredFields":["referenceOrigin","candidateOrigin"]}},{"code":"SITE_PARITY_VISUAL_BROWSER_UNAVAILABLE","when":"The browser worker could not start a session (capacity, drain or launch failure); retry later.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["referenceOrigin","candidateOrigin"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher that reads the sitemap is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_VISUAL_NOT_CONFIGURED","when":"This runtime has no browser worker for screenshots; the SEO check still runs.","recovery":{"operation":"sites.parity.run","requiredFields":["referenceOrigin","candidateOrigin"]}},{"code":"SITE_PARITY_VISUAL_BROWSER_UNAVAILABLE","when":"The browser worker could not start a session (capacity, drain or launch failure); retry later.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["referenceOrigin","candidateOrigin"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher that reads the sitemap is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_VISUAL_NOT_CONFIGURED","when":"This runtime has no browser worker for screenshots; the SEO check still runs.","recovery":{"operation":"sites.parity.run","requiredFields":["referenceOrigin","candidateOrigin"]}},{"code":"SITE_PARITY_VISUAL_BROWSER_UNAVAILABLE","when":"The browser worker could not start a session (capacity, drain or launch failure); retry later.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["referenceOrigin","candidateOrigin"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. Only account owners and admins run parity checks.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SITE_PARITY_CANDIDATE_NOT_PREVIEW","when":"The candidate origin is not the preview URL of a deployment of the given site.","recovery":{"operation":"sites.deployments.list","requiredFields":["siteId"]}},{"code":"SITE_PARITY_SAME_ORIGIN","when":"Reference and candidate are the same origin.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_SITEMAP_UNAVAILABLE","when":"The reference sitemap could not be read; pass urls instead.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NO_URLS","when":"No URL on the reference origin was found to check.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["urls"]}},{"code":"SITE_PARITY_NOT_CONFIGURED","when":"The outbound fetcher that reads the sitemap is not wired on this API.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.parity.visual.run"}}},{"code":"SITE_PARITY_VISUAL_NOT_CONFIGURED","when":"This runtime has no browser worker for screenshots; the SEO check still runs.","recovery":{"operation":"sites.parity.run","requiredFields":["referenceOrigin","candidateOrigin"]}},{"code":"SITE_PARITY_VISUAL_BROWSER_UNAVAILABLE","when":"The browser worker could not start a session (capacity, drain or launch failure); retry later.","recovery":{"operation":"sites.parity.visual.run","requiredFields":["referenceOrigin","candidateOrigin"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesParityVisualRunError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.update":{"post":{"tags":["Operations: sites"],"operationId":"sites.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.update","description":"Linking checks that the analytics site belongs to the same account. Routing picks up the analytics key on the next deployment or publish. Build settings apply from the next deployment; null returns a setting to detection.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateInput"},"examples":{"Link analytics":{"summary":"Link analytics","value":{"siteId":"52000000-0000-4000-8000-000000000301","analyticsSiteId":"52000000-0000-4000-8000-000000000601"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ANALYTICS_SITE_NOT_FOUND","when":"The analytics site does not exist in this account.","recovery":{"operation":"analytics.sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ANALYTICS_SITE_NOT_FOUND","when":"The analytics site does not exist in this account.","recovery":{"operation":"analytics.sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ANALYTICS_SITE_NOT_FOUND","when":"The analytics site does not exist in this account.","recovery":{"operation":"analytics.sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ANALYTICS_SITE_NOT_FOUND","when":"The analytics site does not exist in this account.","recovery":{"operation":"analytics.sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ANALYTICS_SITE_NOT_FOUND","when":"The analytics site does not exist in this account.","recovery":{"operation":"analytics.sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ANALYTICS_SITE_NOT_FOUND","when":"The analytics site does not exist in this account.","recovery":{"operation":"analytics.sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ANALYTICS_SITE_NOT_FOUND","when":"The analytics site does not exist in this account.","recovery":{"operation":"analytics.sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ANALYTICS_SITE_NOT_FOUND","when":"The analytics site does not exist in this account.","recovery":{"operation":"analytics.sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ANALYTICS_SITE_NOT_FOUND","when":"The analytics site does not exist in this account.","recovery":{"operation":"analytics.sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ANALYTICS_SITE_NOT_FOUND","when":"The analytics site does not exist in this account.","recovery":{"operation":"analytics.sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.variables.delete":{"post":{"tags":["Operations: sites"],"operationId":"sites.variables.delete","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.variables.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.variables.delete","description":"Deletes the variable; the next deployment runs without it.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteInput"},"examples":{"Unset variable":{"summary":"Unset variable","value":{"siteId":"52000000-0000-4000-8000-000000000301","name":"API_BASE_URL"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_NOT_FOUND","when":"The site has no variable with this name.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_NOT_FOUND","when":"The site has no variable with this name.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_NOT_FOUND","when":"The site has no variable with this name.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_NOT_FOUND","when":"The site has no variable with this name.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_NOT_FOUND","when":"The site has no variable with this name.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_NOT_FOUND","when":"The site has no variable with this name.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_NOT_FOUND","when":"The site has no variable with this name.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_NOT_FOUND","when":"The site has no variable with this name.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_NOT_FOUND","when":"The site has no variable with this name.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_NOT_FOUND","when":"The site has no variable with this name.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.variables.list":{"post":{"tags":["Operations: sites"],"operationId":"sites.variables.list","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.variables.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.variables.list","description":"Returns names and timestamps only; values are never returned.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesListInput"},"examples":{"List variables":{"summary":"List variables","value":{"siteId":"52000000-0000-4000-8000-000000000301"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/sites.variables.update":{"post":{"tags":["Operations: sites"],"operationId":"sites.variables.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"sites.variables.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"sites.variables.update","description":"Creates or replaces one encrypted variable; it applies to the next deployment.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateInput"},"examples":{"Set variable":{"summary":"Set variable","value":{"siteId":"52000000-0000-4000-8000-000000000301","name":"API_BASE_URL","value":"https://api.example.com"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_LIMIT_REACHED","when":"The site already has the maximum number of variables.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_LIMIT_REACHED","when":"The site already has the maximum number of variables.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_LIMIT_REACHED","when":"The site already has the maximum number of variables.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_LIMIT_REACHED","when":"The site already has the maximum number of variables.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_LIMIT_REACHED","when":"The site already has the maximum number of variables.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_LIMIT_REACHED","when":"The site already has the maximum number of variables.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_LIMIT_REACHED","when":"The site already has the maximum number of variables.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_LIMIT_REACHED","when":"The site already has the maximum number of variables.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_LIMIT_REACHED","when":"The site already has the maximum number of variables.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"sites.variables.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"SITE_NOT_FOUND","when":"The site does not exist in this account.","recovery":{"operation":"sites.list"}},{"code":"SITE_ENV_VAR_LIMIT_REACHED","when":"The site already has the maximum number of variables.","recovery":{"operation":"sites.variables.list","requiredFields":["siteId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationSitesVariablesUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/storage.downloadUrl.batchGet":{"post":{"tags":["Operations: storage"],"operationId":"storage.downloadUrl.batchGet","x-moreflow-stability":"beta","x-moreflow-operation-id":"storage.downloadUrl.batchGet","summary":"storage.downloadUrl.batchGet","description":"Returns one item per requested storage object id, in request order. Each item carries its own signed GET request, or an error with the same code the single download operation would return for that object (NOT_FOUND, FORBIDDEN, INVALID_STATE, VALIDATION_ERROR or PROVIDER_ERROR). Accepts up to 100 ids. Presigning does not change any object.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.batchGet"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/storage.downloadUrl.get":{"post":{"tags":["Operations: storage"],"operationId":"storage.downloadUrl.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"storage.downloadUrl.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"storage.downloadUrl.get","description":"Returns a short-lived signed GET request for an object in the credential account. The resource includes its object id and complete method, URL, headers and expiry. Deleted objects cannot be downloaded; workspace objects require the authorized Flow file path. Presigning does not change the object.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetInput"},"examples":{"Download an account object":{"summary":"Download an account object","value":{"storageObjectId":"a5e9c314-f972-4131-a426-bf1ceaa3e390"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetOutput"},"examples":{"Download an account object":{"summary":"Download an account object","value":{"id":"a5e9c314-f972-4131-a426-bf1ceaa3e390","storageObjectId":"a5e9c314-f972-4131-a426-bf1ceaa3e390","download":{"method":"GET","url":"https://storage.example/download","headers":{},"expiresAt":"2026-10-13T12:10:00.000Z"}}}}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The storage object metadata or provider object does not exist in the credential account.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation. The caller is not an active account member, or the object belongs to a Flow workspace and requires its authorized file operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"INVALID_STATE","when":"The storage object has been deleted or the storage provider is not configured.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The persisted provider object key or download metadata cannot be presigned.","recovery":{"operation":"operations.discovery.get","args":{"id":"storage.downloadUrl.get"}}},{"code":"PROVIDER_ERROR","when":"The storage provider cannot issue the signed download request.","recovery":{"operation":"storage.downloadUrl.get","requiredFields":["storageObjectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStorageDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.briefs.propose":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.briefs.propose","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.briefs.propose","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Propose a Studio ad brief","description":"Returns { brief, missing, removedClaims } without saving anything. brief.proof is always empty and brief.offer.price always null: the user supplies proof (testimonials, numbers, results) and price, and missing lists them with any field left empty. Sentences whose numbers, prices or results the website, offerHint, project or company context do not state are dropped and listed in removedClaims. The landing URL is the website as fetched; the brand kit is the project brand. Edit the brief, then write a script with studio.ads.scripts.generate { formatId, brief }. Fails with STUDIO_WEBSITE_UNREACHABLE (recovery: offerHint), AI_QUOTA_EXCEEDED or AI_UNAVAILABLE.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeInput"},"examples":{"Brief from a website":{"summary":"Brief from a website","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","websiteUrl":"https://example.com","language":"de"}},"Brief from an offer description":{"summary":"Brief from an offer description","value":{"offerHint":"MPU-Infoabend: free evening on how the MPU works","language":"en"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting an ad brief.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later or write the brief yourself.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"STUDIO_PROJECT_NOT_FOUND","when":"The project does not exist in this account.","recovery":{"operation":"studio.projects.list","args":{}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; describe the offer in offerHint instead.","recovery":{"operation":"studio.ads.briefs.propose","requiredFields":["offerHint"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting an ad brief.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later or write the brief yourself.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"STUDIO_PROJECT_NOT_FOUND","when":"The project does not exist in this account.","recovery":{"operation":"studio.projects.list","args":{}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; describe the offer in offerHint instead.","recovery":{"operation":"studio.ads.briefs.propose","requiredFields":["offerHint"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting an ad brief.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later or write the brief yourself.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"STUDIO_PROJECT_NOT_FOUND","when":"The project does not exist in this account.","recovery":{"operation":"studio.projects.list","args":{}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; describe the offer in offerHint instead.","recovery":{"operation":"studio.ads.briefs.propose","requiredFields":["offerHint"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting an ad brief.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later or write the brief yourself.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"STUDIO_PROJECT_NOT_FOUND","when":"The project does not exist in this account.","recovery":{"operation":"studio.projects.list","args":{}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; describe the offer in offerHint instead.","recovery":{"operation":"studio.ads.briefs.propose","requiredFields":["offerHint"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting an ad brief.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later or write the brief yourself.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"STUDIO_PROJECT_NOT_FOUND","when":"The project does not exist in this account.","recovery":{"operation":"studio.projects.list","args":{}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; describe the offer in offerHint instead.","recovery":{"operation":"studio.ads.briefs.propose","requiredFields":["offerHint"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting an ad brief.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later or write the brief yourself.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"STUDIO_PROJECT_NOT_FOUND","when":"The project does not exist in this account.","recovery":{"operation":"studio.projects.list","args":{}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; describe the offer in offerHint instead.","recovery":{"operation":"studio.ads.briefs.propose","requiredFields":["offerHint"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting an ad brief.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later or write the brief yourself.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"STUDIO_PROJECT_NOT_FOUND","when":"The project does not exist in this account.","recovery":{"operation":"studio.projects.list","args":{}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; describe the offer in offerHint instead.","recovery":{"operation":"studio.ads.briefs.propose","requiredFields":["offerHint"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting an ad brief.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later or write the brief yourself.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"STUDIO_PROJECT_NOT_FOUND","when":"The project does not exist in this account.","recovery":{"operation":"studio.projects.list","args":{}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; describe the offer in offerHint instead.","recovery":{"operation":"studio.ads.briefs.propose","requiredFields":["offerHint"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting an ad brief.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later or write the brief yourself.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"STUDIO_PROJECT_NOT_FOUND","when":"The project does not exist in this account.","recovery":{"operation":"studio.projects.list","args":{}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; describe the offer in offerHint instead.","recovery":{"operation":"studio.ads.briefs.propose","requiredFields":["offerHint"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting an ad brief.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later or write the brief yourself.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.briefs.propose"}}},{"code":"STUDIO_PROJECT_NOT_FOUND","when":"The project does not exist in this account.","recovery":{"operation":"studio.projects.list","args":{}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; describe the offer in offerHint instead.","recovery":{"operation":"studio.ads.briefs.propose","requiredFields":["offerHint"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsBriefsProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.delivery.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.delivery.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.delivery.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read an ad's placements","description":"Returns { id, videoId, versionId, placements }. Each placement has its status, its newest export, the QC verdict of that export and capabilities: canShow, canDownload and canPublish are true only once the QC run passed (studio.posts.create refuses an ad export that has not passed with STUDIO_AD_QC_NOT_PASSED); canExport means studio.exports.start { placement } renders it. recovery names the next step for a placement that failed. A version without an ad layout has no placements. Fails with STUDIO_VIDEO_NOT_FOUND or STUDIO_VERSION_NOT_FOUND.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetInput"},"examples":{"Placements of the current version":{"summary":"Placements of the current version","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.delivery.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsDeliveryGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.formats.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.formats.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.formats.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read a Studio ad format","description":"Returns one entry of studio.ads.formats.list. testimonial_style requires testimonial proof in the brief and shows a disclosure label, because a synthetic presenter retells the customer's words.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetInput"},"examples":{"Myth vs fact":{"summary":"Myth vs fact","value":{"formatId":"myth_vs_fact"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.formats.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.formats.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.formats.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List Studio ad formats","description":"Returns { items, nextCursor: null } with one entry per format: id, name { de, en }, purpose { de, en }, durationSeconds, aspectRatio, requiresProof (the proof kind the brief must hold, or null), disclosure (the label a dramatised format shows, or null) and beats [{ role, startSeconds, endSeconds, maxWords, guidance }] in the fixed order hook (0–2 s, at most 6 words), problem, proof, offer, cta. Write an ad in a format with studio.ads.scripts.generate { formatId, brief }.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListInput"},"examples":{"All ad formats":{"summary":"All ad formats","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.formats.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsFormatsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.hooks.propose":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.hooks.propose","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.hooks.propose","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Propose ad hooks","description":"Returns { videoId, language, formatId, hooks [{ hook, wordCount }], rejected [{ hook, reason, message }] } without saving anything. hooks holds up to count (default 6) distinct hooks, each checked like a script hook against the ad brief (at most 6 words, every number, price, result or quote backed by the brief), none the ad, an earlier variant of it or exclude already says. rejected lists model proposals the rules refused. The model sees the brief, the format, the project's latest research hooks and winningHooks (pass the top variants of earlier batches with their metrics). Quote the chosen hooks with studio.ads.variants.estimate { videoId, hooks }. Fails with STUDIO_AD_BASE_NOT_AN_AD, AI_QUOTA_EXCEEDED or AI_UNAVAILABLE (also when no hook passed; details.rejected).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeInput"},"examples":{"Six hooks for an ad":{"summary":"Six hooks for an ad","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a"}},"Hooks after a tested batch":{"summary":"Hooks after a tested batch","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","count":6,"exclude":["Angst vor der MPU?"],"winningHooks":[{"variantId":"5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d","hook":"MPU nicht bestanden?","formatId":"myth_vs_fact","presenterId":"presenter_anna","language":"de","metrics":{"impressions":12000,"spendCents":18000,"ctr":0.018,"hookRate":0.41,"cplCents":1500,"leads":12,"dealsWon":2}}]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for proposing hooks.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The hook proposer is unavailable, or none of its hooks passed the rules (details.rejected); retry later or write the hooks yourself.","recovery":{"operation":"studio.ads.hooks.propose","requiredFields":["videoId"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for proposing hooks.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The hook proposer is unavailable, or none of its hooks passed the rules (details.rejected); retry later or write the hooks yourself.","recovery":{"operation":"studio.ads.hooks.propose","requiredFields":["videoId"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for proposing hooks.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The hook proposer is unavailable, or none of its hooks passed the rules (details.rejected); retry later or write the hooks yourself.","recovery":{"operation":"studio.ads.hooks.propose","requiredFields":["videoId"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for proposing hooks.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The hook proposer is unavailable, or none of its hooks passed the rules (details.rejected); retry later or write the hooks yourself.","recovery":{"operation":"studio.ads.hooks.propose","requiredFields":["videoId"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for proposing hooks.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The hook proposer is unavailable, or none of its hooks passed the rules (details.rejected); retry later or write the hooks yourself.","recovery":{"operation":"studio.ads.hooks.propose","requiredFields":["videoId"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for proposing hooks.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The hook proposer is unavailable, or none of its hooks passed the rules (details.rejected); retry later or write the hooks yourself.","recovery":{"operation":"studio.ads.hooks.propose","requiredFields":["videoId"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for proposing hooks.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The hook proposer is unavailable, or none of its hooks passed the rules (details.rejected); retry later or write the hooks yourself.","recovery":{"operation":"studio.ads.hooks.propose","requiredFields":["videoId"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for proposing hooks.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The hook proposer is unavailable, or none of its hooks passed the rules (details.rejected); retry later or write the hooks yourself.","recovery":{"operation":"studio.ads.hooks.propose","requiredFields":["videoId"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for proposing hooks.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The hook proposer is unavailable, or none of its hooks passed the rules (details.rejected); retry later or write the hooks yourself.","recovery":{"operation":"studio.ads.hooks.propose","requiredFields":["videoId"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.hooks.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for proposing hooks.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The hook proposer is unavailable, or none of its hooks passed the rules (details.rejected); retry later or write the hooks yourself.","recovery":{"operation":"studio.ads.hooks.propose","requiredFields":["videoId"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsHooksProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.qc.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.qc.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.qc.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read an ad QC verdict","description":"Every ad export (studio.exports.start with a version that has an ad layout) is checked after it renders. Show the variant only when status is passed. A failing scene is generated again once automatically (status regenerating, then the new ad export is checked); recovery says what to do when it still fails. Fails with STUDIO_EXPORT_NOT_FOUND (recovery studio.exports.list) and STUDIO_AD_QC_NOT_FOUND for an export without a run (recovery studio.exports.get).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcGetInput"},"examples":{"Read the verdict of an ad export":{"summary":"Read the verdict of an ad export","value":{"exportId":"3a4b5c6d-7e8f-4a9b-8c0d-1e2f3a4b5c6d"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.exports.list","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_FOUND","when":"The export has no QC run: it is not an ad export, or it is still rendering.","recovery":{"operation":"studio.exports.get","requiredFields":["exportId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.exports.list","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_FOUND","when":"The export has no QC run: it is not an ad export, or it is still rendering.","recovery":{"operation":"studio.exports.get","requiredFields":["exportId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.exports.list","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_FOUND","when":"The export has no QC run: it is not an ad export, or it is still rendering.","recovery":{"operation":"studio.exports.get","requiredFields":["exportId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.exports.list","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_FOUND","when":"The export has no QC run: it is not an ad export, or it is still rendering.","recovery":{"operation":"studio.exports.get","requiredFields":["exportId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.exports.list","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_FOUND","when":"The export has no QC run: it is not an ad export, or it is still rendering.","recovery":{"operation":"studio.exports.get","requiredFields":["exportId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.exports.list","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_FOUND","when":"The export has no QC run: it is not an ad export, or it is still rendering.","recovery":{"operation":"studio.exports.get","requiredFields":["exportId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.exports.list","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_FOUND","when":"The export has no QC run: it is not an ad export, or it is still rendering.","recovery":{"operation":"studio.exports.get","requiredFields":["exportId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.exports.list","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_FOUND","when":"The export has no QC run: it is not an ad export, or it is still rendering.","recovery":{"operation":"studio.exports.get","requiredFields":["exportId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.exports.list","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_FOUND","when":"The export has no QC run: it is not an ad export, or it is still rendering.","recovery":{"operation":"studio.exports.get","requiredFields":["exportId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.qc.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.qc.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.qc.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List ad QC verdicts","description":"Returns { items, nextCursor }, newest first. Each item is the verdict of one ad export (one placement of one version), as studio.ads.qc.get returns it.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcListInput"},"examples":{"Verdicts of a video":{"summary":"Verdicts of a video","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.qc.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsQcListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.scripts.generate":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.scripts.generate","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.scripts.generate","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Write a Studio ad script","description":"Returns { script }: formatId, language, hook (the headline, at most 6 words, said as the first beat within 2 s), beats [{ role, startSeconds, endSeconds, spokenText }] in the format's order and timing, offer { name, price }, callToAction and landingUrl from the brief, setting (the one place the ad is filmed in, English), disclosure (the label of a dramatised format, else null) and durationSeconds. A draft that breaks a rule is redrafted once; one that still does fails with STUDIO_AD_SCRIPT_INVALID and details.issues [{ kind, beat, text, message }] (kinds include unsupported_claim, hook_too_long, cta_missing_offer). testimonial_style without testimonial proof fails with STUDIO_AD_PROOF_REQUIRED. Pass hook to keep a fixed hook (a hook variant). Create the ad video with studio.videos.create { ad: { brief, script } }.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateInput"},"examples":{"Myth vs fact ad":{"summary":"Myth vs fact ad","value":{"formatId":"myth_vs_fact","brief":{"language":"de","offer":{"name":"MPU-Infoabend","description":"Ein kostenloser Abend, an dem du erfährst, wie die MPU abläuft und wie du dich vorbereitest.","price":null},"audience":"Autofahrer, die ihren Führerschein verloren haben und vor der MPU stehen.","mainPain":"Angst, bei der MPU durchzufallen.","objections":["Eine Vorbereitung ist zu teuer."],"proof":[{"kind":"testimonial","text":"Nach dem Infoabend wusste ich endlich, was mich erwartet.","source":"Jonas"}],"callToAction":"Jetzt Platz sichern","landingUrl":"https://example.com/infoabend","brandKit":{"logoAssetId":null,"primaryColor":"#0055ff","secondaryColor":null}}}},"Ad with a fixed hook":{"summary":"Ad with a fixed hook","value":{"formatId":"problem_solution","brief":{"language":"de","offer":{"name":"MPU-Infoabend","description":"Ein kostenloser Abend, an dem du erfährst, wie die MPU abläuft und wie du dich vorbereitest.","price":null},"audience":"Autofahrer, die ihren Führerschein verloren haben und vor der MPU stehen.","mainPain":"Angst, bei der MPU durchzufallen.","objections":["Eine Vorbereitung ist zu teuer."],"proof":[{"kind":"testimonial","text":"Nach dem Infoabend wusste ich endlich, was mich erwartet.","source":"Jonas"}],"callToAction":"Jetzt Platz sichern","landingUrl":"https://example.com/infoabend","brandKit":{"logoAssetId":null,"primaryColor":"#0055ff","secondaryColor":null}},"hook":"Angst vor der MPU?"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for writing an ad script.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The script writer is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"STUDIO_AD_PROOF_REQUIRED","when":"The format needs proof the brief does not hold (testimonial_style needs a testimonial in brief.proof).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["brief"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"The script breaks a rule after a redraft, or the fixed hook does: details.issues names each (a claim the brief does not back, a hook over 6 words, a call to action without the offer).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["formatId","brief"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for writing an ad script.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The script writer is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"STUDIO_AD_PROOF_REQUIRED","when":"The format needs proof the brief does not hold (testimonial_style needs a testimonial in brief.proof).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["brief"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"The script breaks a rule after a redraft, or the fixed hook does: details.issues names each (a claim the brief does not back, a hook over 6 words, a call to action without the offer).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["formatId","brief"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for writing an ad script.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The script writer is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"STUDIO_AD_PROOF_REQUIRED","when":"The format needs proof the brief does not hold (testimonial_style needs a testimonial in brief.proof).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["brief"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"The script breaks a rule after a redraft, or the fixed hook does: details.issues names each (a claim the brief does not back, a hook over 6 words, a call to action without the offer).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["formatId","brief"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for writing an ad script.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The script writer is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"STUDIO_AD_PROOF_REQUIRED","when":"The format needs proof the brief does not hold (testimonial_style needs a testimonial in brief.proof).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["brief"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"The script breaks a rule after a redraft, or the fixed hook does: details.issues names each (a claim the brief does not back, a hook over 6 words, a call to action without the offer).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["formatId","brief"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for writing an ad script.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The script writer is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"STUDIO_AD_PROOF_REQUIRED","when":"The format needs proof the brief does not hold (testimonial_style needs a testimonial in brief.proof).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["brief"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"The script breaks a rule after a redraft, or the fixed hook does: details.issues names each (a claim the brief does not back, a hook over 6 words, a call to action without the offer).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["formatId","brief"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for writing an ad script.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The script writer is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"STUDIO_AD_PROOF_REQUIRED","when":"The format needs proof the brief does not hold (testimonial_style needs a testimonial in brief.proof).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["brief"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"The script breaks a rule after a redraft, or the fixed hook does: details.issues names each (a claim the brief does not back, a hook over 6 words, a call to action without the offer).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["formatId","brief"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for writing an ad script.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The script writer is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"STUDIO_AD_PROOF_REQUIRED","when":"The format needs proof the brief does not hold (testimonial_style needs a testimonial in brief.proof).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["brief"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"The script breaks a rule after a redraft, or the fixed hook does: details.issues names each (a claim the brief does not back, a hook over 6 words, a call to action without the offer).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["formatId","brief"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for writing an ad script.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The script writer is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"STUDIO_AD_PROOF_REQUIRED","when":"The format needs proof the brief does not hold (testimonial_style needs a testimonial in brief.proof).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["brief"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"The script breaks a rule after a redraft, or the fixed hook does: details.issues names each (a claim the brief does not back, a hook over 6 words, a call to action without the offer).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["formatId","brief"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for writing an ad script.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The script writer is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"STUDIO_AD_PROOF_REQUIRED","when":"The format needs proof the brief does not hold (testimonial_style needs a testimonial in brief.proof).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["brief"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"The script breaks a rule after a redraft, or the fixed hook does: details.issues names each (a claim the brief does not back, a hook over 6 words, a call to action without the offer).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["formatId","brief"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for writing an ad script.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The script writer is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.scripts.generate"}}},{"code":"STUDIO_AD_PROOF_REQUIRED","when":"The format needs proof the brief does not hold (testimonial_style needs a testimonial in brief.proof).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["brief"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"The script breaks a rule after a redraft, or the fixed hook does: details.issues names each (a claim the brief does not back, a hook over 6 words, a call to action without the offer).","recovery":{"operation":"studio.ads.scripts.generate","requiredFields":["formatId","brief"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsScriptsGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.variants.create":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.variants.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.variants.create","x-moreflow-agent":{"effect":"financial_commitment","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"Create ad hook variants","description":"Returns { batchId, baseVideoId, totalCents, currency, variants }. variants starts with the control: the base ad itself (control: true, position 0, videoId = baseVideoId), registered with its own variant id by the first batch made from it, which every export of the base carries as adVariantId from then on, so it is published and attributed like the hook variants. Each variant has a stable id (the key for publishing and performance attribution; every export of its video carries it as adVariantId), its own ad video (videoId) and its start: started (generationId), waiting_for_body (a variant of another presenter starts once that presenter's first variant generated the body) or refused (code, recovery studio.generations.estimate on its video). Generated variants export the vertical placement and run the ad QC gate on their own; read them with studio.ads.variants.get and show or publish a placement only once its QC passed. Fails with STUDIO_COST_CONFIRMATION_REQUIRED without confirmed: true (recovery: the same call confirmed), STUDIO_ESTIMATE_CHANGED when the batch costs more than expectedTotalCents (recovery studio.ads.variants.estimate), and the quote's failures, among them STUDIO_AD_QC_NOT_PASSED for a base whose ad QC has not passed.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateInput"},"examples":{"Create six hook variants":{"summary":"Create six hook variants","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","hooks":["Angst vor der MPU?","MPU nicht bestanden?","So klappt deine MPU.","Was die MPU wirklich prüft","Dein Führerschein zurück","MPU ohne Panik"],"expectedTotalCents":900,"confirmed":true}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_COST_CONFIRMATION_REQUIRED","when":"confirmed is not true.","recovery":{"operation":"studio.ads.variants.create","requiredFields":["confirmed"]}},{"code":"STUDIO_ESTIMATE_CHANGED","when":"The batch now costs more than expectedTotalCents.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["videoId","hooks"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule; details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The ad's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_COST_CONFIRMATION_REQUIRED","when":"confirmed is not true.","recovery":{"operation":"studio.ads.variants.create","requiredFields":["confirmed"]}},{"code":"STUDIO_ESTIMATE_CHANGED","when":"The batch now costs more than expectedTotalCents.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["videoId","hooks"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule; details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The ad's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_COST_CONFIRMATION_REQUIRED","when":"confirmed is not true.","recovery":{"operation":"studio.ads.variants.create","requiredFields":["confirmed"]}},{"code":"STUDIO_ESTIMATE_CHANGED","when":"The batch now costs more than expectedTotalCents.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["videoId","hooks"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule; details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The ad's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_COST_CONFIRMATION_REQUIRED","when":"confirmed is not true.","recovery":{"operation":"studio.ads.variants.create","requiredFields":["confirmed"]}},{"code":"STUDIO_ESTIMATE_CHANGED","when":"The batch now costs more than expectedTotalCents.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["videoId","hooks"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule; details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The ad's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_COST_CONFIRMATION_REQUIRED","when":"confirmed is not true.","recovery":{"operation":"studio.ads.variants.create","requiredFields":["confirmed"]}},{"code":"STUDIO_ESTIMATE_CHANGED","when":"The batch now costs more than expectedTotalCents.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["videoId","hooks"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule; details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The ad's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_COST_CONFIRMATION_REQUIRED","when":"confirmed is not true.","recovery":{"operation":"studio.ads.variants.create","requiredFields":["confirmed"]}},{"code":"STUDIO_ESTIMATE_CHANGED","when":"The batch now costs more than expectedTotalCents.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["videoId","hooks"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule; details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The ad's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_COST_CONFIRMATION_REQUIRED","when":"confirmed is not true.","recovery":{"operation":"studio.ads.variants.create","requiredFields":["confirmed"]}},{"code":"STUDIO_ESTIMATE_CHANGED","when":"The batch now costs more than expectedTotalCents.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["videoId","hooks"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule; details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The ad's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_COST_CONFIRMATION_REQUIRED","when":"confirmed is not true.","recovery":{"operation":"studio.ads.variants.create","requiredFields":["confirmed"]}},{"code":"STUDIO_ESTIMATE_CHANGED","when":"The batch now costs more than expectedTotalCents.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["videoId","hooks"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule; details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The ad's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_COST_CONFIRMATION_REQUIRED","when":"confirmed is not true.","recovery":{"operation":"studio.ads.variants.create","requiredFields":["confirmed"]}},{"code":"STUDIO_ESTIMATE_CHANGED","when":"The batch now costs more than expectedTotalCents.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["videoId","hooks"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule; details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The ad's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_COST_CONFIRMATION_REQUIRED","when":"confirmed is not true.","recovery":{"operation":"studio.ads.variants.create","requiredFields":["confirmed"]}},{"code":"STUDIO_ESTIMATE_CHANGED","when":"The batch now costs more than expectedTotalCents.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["videoId","hooks"]}},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule; details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The ad's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.variants.creatives.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.variants.creatives.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.variants.creatives.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Map an ad variant to platform creatives","description":"Returns { variantId, videoId, platform, hook, aiDisclosure, trackingTag, landingPageUrl, creatives }. Each creative is one placement the platform takes (meta_ads: vertical 9:16 for Reels and Stories, feed 4:5, square 1:1 optional; tiktok_ads: vertical 9:16 only) with its export, cover still, positions for the ad set or ad group, name, headline and text, and steps: upload the export, upload the cover, create the creative and the paused ad (marketing.metaAds.* or marketing.tiktokAds.*), then record the ad with studio.ads.variants.publications.create. Only a placement whose ad QC passed is publishable (steps empty and recovery set otherwise). aiDisclosure says how the AI label reaches the viewer: TikTok aigcDisclosure true, Meta a line in the primary text (Meta has no API field for third-party AI media). The landing URL carries utm_content trackingTag, which attributes website leads to the variant. Fails with STUDIO_AD_VARIANT_NOT_FOUND.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListInput"},"examples":{"Publish a variant on Meta":{"summary":"Publish a variant on Meta","value":{"variantId":"5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d","platform":"meta_ads"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.creatives.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsCreativesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.variants.estimate":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.variants.estimate","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.variants.estimate","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Quote ad hook variants","description":"Stateless: studio.ads.variants.create recomputes it. Returns { videoId, versionId, control, variants, totalCents, fullGenerationCents, withoutReuseCents, currency, pricingVersion, confirmationRequired: true }. control is the base ad itself, the variant at position 0 the hook variants are measured against (registered at no cost by create; its own hook given again makes no new variant). Each variant (every hook with every presenter, the base ad's presenter first, positions from 1) lists its scenes: the hook scene (hook and problem beats) is generated, the body scenes reuse the base ad's takes at no cost. A presenter other than the base's generates its body once, in its first variant (body own); its other variants reuse that (body variant). Prices follow the ad's quality and video model as studio.generations.estimate would. Fails with STUDIO_AD_BASE_NOT_AN_AD, STUDIO_AD_BASE_NOT_GENERATED (recovery studio.generations.estimate), STUDIO_AD_QC_NOT_PASSED when the newest ad QC run of the base's current version has not passed (recovery: retake the failing scene with studio.videos.scenes.retry, wait for the check, or export the version), STUDIO_AD_SCRIPT_INVALID for a hook that breaks a script rule, VALIDATION_ERROR for a repeated hook or a presenter who cannot speak the ad (recovery studio.presenters.list).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateInput"},"examples":{"Quote six hooks":{"summary":"Quote six hooks","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","hooks":["Angst vor der MPU?","MPU nicht bestanden?","So klappt deine MPU.","Was die MPU wirklich prüft","Dein Führerschein zurück","MPU ohne Panik"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule (over 6 words, a claim the brief does not back); details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule (over 6 words, a claim the brief does not back); details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule (over 6 words, a claim the brief does not back); details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule (over 6 words, a claim the brief does not back); details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule (over 6 words, a claim the brief does not back); details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule (over 6 words, a claim the brief does not back); details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule (over 6 words, a claim the brief does not back); details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule (over 6 words, a claim the brief does not back); details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_BASE_NOT_AN_AD","when":"The video was not created from an ad.","recovery":{"operation":"studio.videos.create","requiredFields":["ad"]}},{"code":"STUDIO_AD_BASE_NOT_GENERATED","when":"The ad has no generated current version whose body the variants could reuse.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The newest ad QC run of the base ad's current version has not passed: every variant would reuse its body. recovery names the step: retake the failing scene (studio.videos.scenes.retry), wait for the check or regeneration, or export the version.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}},{"code":"STUDIO_AD_SCRIPT_INVALID","when":"A hook breaks a script rule (over 6 words, a claim the brief does not back); details.issues names each with its hookIndex.","recovery":{"operation":"studio.ads.variants.estimate","requiredFields":["hooks"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.variants.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.variants.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.variants.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read an ad variant","description":"Returns the variant as studio.ads.variants.list does, plus placements: the placements of its video's current version, as studio.ads.delivery.get returns them (empty before its first generation). Only a placement whose QC passed may be shown, downloaded or published. Fails with STUDIO_AD_VARIANT_NOT_FOUND (recovery studio.ads.variants.list).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetInput"},"examples":{"Read a variant":{"summary":"Read a variant","value":{"variantId":"5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.variants.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.variants.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.variants.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List ad variants","description":"Give exactly one of batchId (every variant of the batch by position, its control first, one page) or videoId (the variants made from that base ad, newest first, paged with cursor, with the base ad's own control among them). Returns { items, nextCursor }; control: true marks the base ad. Read a variant's placements and QC verdicts with studio.ads.variants.get.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListInput"},"examples":{"Variants of a batch":{"summary":"Variants of a batch","value":{"batchId":"7c8d9e0f-1a2b-4c3d-8e4f-5a6b7c8d9e0f"}},"Variants of an ad":{"summary":"Variants of an ad","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.variants.performance.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.variants.performance.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.variants.performance.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read ad variant performance","description":"Give exactly one of variantId, batchId or videoId (the base ad), and the window (at most 365 days). Returns { dateFrom, dateTo, platforms, attribution, variants }. Each variant lists its recorded ads (studio.ads.variants.publications.create) with their provider metrics and the summed metrics: impressions, clicks, spendCents, ctr, hookViews and hookRate (Meta reports 3-second video plays; TikTok has no 3-second count and reports 2-second views), platformLeads (Meta lead actions; TikTok reports none), and from the CRM: leads (distinct clients whose touch in the window came from the variant's ad ids or its utm_content tag), dealsCreated and dealsWon (deals credited to those touches, won to date), wonValue per currency, cplCents and costPerWonDealCents. A platform that is not connected is reported unavailable with its recovery; its ads have null metrics. Fails with STUDIO_AD_VARIANT_NOT_FOUND.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetInput"},"examples":{"A batch in October":{"summary":"A batch in October","value":{"batchId":"7c8d9e0f-1a2b-4c3d-8e4f-5a6b7c8d9e0f","dateFrom":"2026-10-01","dateTo":"2026-10-31"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this variantId on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this variantId on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this variantId on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this variantId on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this variantId on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this variantId on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this variantId on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this variantId on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.performance.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this variantId on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPerformanceGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.variants.publications.create":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.variants.publications.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.variants.publications.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Record a published ad of a variant","description":"The last step of studio.ads.variants.creatives.list: pass the variant, the export the creative was made from, the platform and the ad id marketing.metaAds.ads.create or marketing.tiktokAds.ads.create returned (Meta: also the creative id). Returns the publication. One provider ad shows one variant: recording an ad again replaces its link. The export must be a placement export of the variant that passed ad QC (STUDIO_AD_QC_NOT_PASSED otherwise) and a placement the platform takes (STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM: TikTok takes 9:16 only). Fails with STUDIO_AD_VARIANT_NOT_FOUND, STUDIO_EXPORT_NOT_FOUND or STUDIO_AD_EXPORT_NOT_OF_VARIANT.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateInput"},"examples":{"Record a paused Meta ad":{"summary":"Record a paused Meta ad","value":{"variantId":"5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d","exportId":"2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e","platform":"meta_ads","adId":"120210000000001","creativeId":"120210000000002","providerAccountId":"act_123456789"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_EXPORT_NOT_OF_VARIANT","when":"The export is not a placement export of the variant's video.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM","when":"The platform does not take the export's placement (TikTok takes 9:16 only).","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The export has not passed its ad QC run.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_EXPORT_NOT_OF_VARIANT","when":"The export is not a placement export of the variant's video.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM","when":"The platform does not take the export's placement (TikTok takes 9:16 only).","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The export has not passed its ad QC run.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_EXPORT_NOT_OF_VARIANT","when":"The export is not a placement export of the variant's video.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM","when":"The platform does not take the export's placement (TikTok takes 9:16 only).","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The export has not passed its ad QC run.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_EXPORT_NOT_OF_VARIANT","when":"The export is not a placement export of the variant's video.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM","when":"The platform does not take the export's placement (TikTok takes 9:16 only).","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The export has not passed its ad QC run.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_EXPORT_NOT_OF_VARIANT","when":"The export is not a placement export of the variant's video.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM","when":"The platform does not take the export's placement (TikTok takes 9:16 only).","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The export has not passed its ad QC run.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_EXPORT_NOT_OF_VARIANT","when":"The export is not a placement export of the variant's video.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM","when":"The platform does not take the export's placement (TikTok takes 9:16 only).","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The export has not passed its ad QC run.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_EXPORT_NOT_OF_VARIANT","when":"The export is not a placement export of the variant's video.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM","when":"The platform does not take the export's placement (TikTok takes 9:16 only).","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The export has not passed its ad QC run.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_EXPORT_NOT_OF_VARIANT","when":"The export is not a placement export of the variant's video.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM","when":"The platform does not take the export's placement (TikTok takes 9:16 only).","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The export has not passed its ad QC run.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_EXPORT_NOT_OF_VARIANT","when":"The export is not a placement export of the variant's video.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM","when":"The platform does not take the export's placement (TikTok takes 9:16 only).","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The export has not passed its ad QC run.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_AD_VARIANT_NOT_FOUND","when":"No variant with this id on the account.","recovery":{"operation":"studio.ads.variants.list","requiredFields":["videoId"]}},{"code":"STUDIO_EXPORT_NOT_FOUND","when":"The export does not exist on this account.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_EXPORT_NOT_OF_VARIANT","when":"The export is not a placement export of the variant's video.","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_PLACEMENT_NOT_ON_PLATFORM","when":"The platform does not take the export's placement (TikTok takes 9:16 only).","recovery":{"operation":"studio.ads.variants.creatives.list","requiredFields":["variantId","platform"]}},{"code":"STUDIO_AD_QC_NOT_PASSED","when":"The export has not passed its ad QC run.","recovery":{"operation":"studio.ads.delivery.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.variants.publications.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.variants.publications.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.variants.publications.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List the published ads of variants","description":"Give exactly one of variantId or batchId. Returns { items } oldest first: each a provider ad (platform, adId, Meta creativeId) with the variant, export and placement it shows. Read their performance with studio.ads.variants.performance.get.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListInput"},"examples":{"Ads of a variant":{"summary":"Ads of a variant","value":{"variantId":"5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.publications.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsPublicationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ads.variants.winners.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.ads.variants.winners.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ads.variants.winners.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List winning ad variants","description":"Give batchId or videoId (the base ad), or neither for the account's most recently published variants (up to 50). Measures them as studio.ads.variants.performance.get does over the window, leaves out variants under minImpressions, and ranks by rankBy (default leads; ties by deals won, leads, CPL, hook rate, CTR). Returns { dateFrom, dateTo, rankBy, considered, items, incomplete }: each item is { variantId, hook, formatId, presenterId, language, metrics: { impressions, spendCents, ctr, hookRate, cplCents, leads, dealsWon } }: pass items unchanged as winningHooks to studio.ads.hooks.propose for the next batch's hooks.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListInput"},"examples":{"Winners of an ad":{"summary":"Winners of an ad","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","dateFrom":"2026-10-01","dateTo":"2026-10-31"}},"Account-wide by hook rate":{"summary":"Account-wide by hook rate","value":{"dateFrom":"2026-10-01","dateTo":"2026-10-31","rankBy":"hook_rate","limit":3}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ads.variants.winners.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioAdsVariantsWinnersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.characters.archive":{"post":{"tags":["Operations: studio"],"operationId":"studio.characters.archive","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.characters.archive","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Archive a Studio character","description":"Archiving an archived character returns it unchanged. Unarchive it with studio.characters.unarchive.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveInput"},"examples":{"Archive a character":{"summary":"Archive a character","value":{"characterId":"2b7e1c4d-9f3a-4e8b-a1c2-d3e4f5a6b7c8"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.characters.create":{"post":{"tags":["Operations: studio"],"operationId":"studio.characters.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.characters.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Create a Studio character","description":"Creates an active character shared by every project of the account. A name an active character already uses fails with STUDIO_CHARACTER_NAME_TAKEN (recovery studio.characters.update on the holder). Add references and verify the likeness afterwards.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateInput"},"examples":{"Create the founder character":{"summary":"Create the founder character","value":{"name":"Mia","description":"Founder of the bakery, early thirties, warm and direct."}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.characters.delete":{"post":{"tags":["Operations: studio"],"operationId":"studio.characters.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.characters.delete","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"Delete a Studio character","description":"Erases the provider likeness first. While the provider erasure is still running it fails with STUDIO_LIKENESS_ERASURE_PENDING (retryable; recovery studio.characters.likeness.delete). A voice sample is erased next; if that fails it fails with the same retryable code (recovery studio.characters.delete) and keeps the character. Then deletes the character with its references, likeness record, project links and reference files.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteInput"},"examples":{"Delete a character":{"summary":"Delete a character","value":{"characterId":"2b7e1c4d-9f3a-4e8b-a1c2-d3e4f5a6b7c8"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_LIKENESS_ERASURE_PENDING","when":"The verified likeness is still being erased with the provider, or the voice sample could not be erased yet; retry the delete shortly.","recovery":{"operation":"studio.characters.get","requiredFields":["characterId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_LIKENESS_ERASURE_PENDING","when":"The verified likeness is still being erased with the provider, or the voice sample could not be erased yet; retry the delete shortly.","recovery":{"operation":"studio.characters.get","requiredFields":["characterId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_LIKENESS_ERASURE_PENDING","when":"The verified likeness is still being erased with the provider, or the voice sample could not be erased yet; retry the delete shortly.","recovery":{"operation":"studio.characters.get","requiredFields":["characterId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_LIKENESS_ERASURE_PENDING","when":"The verified likeness is still being erased with the provider, or the voice sample could not be erased yet; retry the delete shortly.","recovery":{"operation":"studio.characters.get","requiredFields":["characterId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_LIKENESS_ERASURE_PENDING","when":"The verified likeness is still being erased with the provider, or the voice sample could not be erased yet; retry the delete shortly.","recovery":{"operation":"studio.characters.get","requiredFields":["characterId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_LIKENESS_ERASURE_PENDING","when":"The verified likeness is still being erased with the provider, or the voice sample could not be erased yet; retry the delete shortly.","recovery":{"operation":"studio.characters.get","requiredFields":["characterId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_LIKENESS_ERASURE_PENDING","when":"The verified likeness is still being erased with the provider, or the voice sample could not be erased yet; retry the delete shortly.","recovery":{"operation":"studio.characters.get","requiredFields":["characterId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_LIKENESS_ERASURE_PENDING","when":"The verified likeness is still being erased with the provider, or the voice sample could not be erased yet; retry the delete shortly.","recovery":{"operation":"studio.characters.get","requiredFields":["characterId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_LIKENESS_ERASURE_PENDING","when":"The verified likeness is still being erased with the provider, or the voice sample could not be erased yet; retry the delete shortly.","recovery":{"operation":"studio.characters.get","requiredFields":["characterId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_LIKENESS_ERASURE_PENDING","when":"The verified likeness is still being erased with the provider, or the voice sample could not be erased yet; retry the delete shortly.","recovery":{"operation":"studio.characters.get","requiredFields":["characterId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.characters.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.characters.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.characters.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read a Studio character","description":"Returns the character with its look profile, references and public likeness status. Fails with STUDIO_CHARACTER_NOT_FOUND (recovery studio.characters.list).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersGetInput"},"examples":{"Read a character":{"summary":"Read a character","value":{"characterId":"2b7e1c4d-9f3a-4e8b-a1c2-d3e4f5a6b7c8"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.characters.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.characters.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.characters.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List Studio characters","description":"Returns { items, nextCursor }, newest first. Characters are shared across projects; projectId keeps only those linked to that project. Each item has its look profile, reference photos and clip, the public likeness status and canManage.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersListInput"},"examples":{"List active characters":{"summary":"List active characters","value":{"status":"active","limit":50}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.characters.unarchive":{"post":{"tags":["Operations: studio"],"operationId":"studio.characters.unarchive","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.characters.unarchive","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Unarchive a Studio character","description":"Unarchiving an active character returns it unchanged. When an active character already has the same name it fails with STUDIO_CHARACTER_NAME_TAKEN (recovery studio.characters.update).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveInput"},"examples":{"Unarchive a character":{"summary":"Unarchive a character","value":{"characterId":"2b7e1c4d-9f3a-4e8b-a1c2-d3e4f5a6b7c8"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.characters.update":{"post":{"tags":["Operations: studio"],"operationId":"studio.characters.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.characters.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Update a Studio character","description":"Only the given fields change. A saved lookProfile becomes reviewed with the next version; null clears it. A name another active character uses fails with STUDIO_CHARACTER_NAME_TAKEN.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateInput"},"examples":{"Rename a character":{"summary":"Rename a character","value":{"characterId":"2b7e1c4d-9f3a-4e8b-a1c2-d3e4f5a6b7c8","name":"Mia Baker"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.characters.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NAME_TAKEN","when":"Another active character already uses this name; choose a different name or unarchive is blocked.","recovery":{"operation":"studio.characters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioCharactersUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.exports.cancel":{"post":{"tags":["Operations: studio"],"operationId":"studio.exports.cancel","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.exports.cancel","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Cancel an export","description":"Returns the export as cancelled. Fails with STUDIO_EXPORT_NOT_CANCELLABLE once it ended (recovery studio.exports.get).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelInput"},"examples":{"Cancel an export":{"summary":"Cancel an export","value":{"exportId":"3a4b5c6d-7e8f-4a9b-8c0d-1e2f3a4b5c6d"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.exports.downloadUrl.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.exports.downloadUrl.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.exports.downloadUrl.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Download an export","description":"Returns { url, expiresAt, fileName }; the URL is valid for about one hour and downloads the MP4 under fileName. Fails with STUDIO_EXPORT_NOT_READY until the export succeeded (recovery studio.exports.get), and with STUDIO_AD_QC_NOT_PASSED for an ad export (one with a placement) whose QC run has not passed, with the run's recovery (studio.ads.qc.get while it is checked, studio.videos.scenes.retry for a failed scene); studio.ads.delivery.get reports this as canDownload.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetInput"},"examples":{"Download an export":{"summary":"Download an export","value":{"exportId":"3a4b5c6d-7e8f-4a9b-8c0d-1e2f3a4b5c6d"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.downloadUrl.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsDownloadUrlGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.exports.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.exports.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.exports.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read an export","description":"Poll while queued or running. syntheticDisclosureApplied says whether the AI-generated label is burned in (account setting, see studio.settings.get). Fails with STUDIO_EXPORT_NOT_FOUND (recovery studio.exports.list).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsGetInput"},"examples":{"Read an export":{"summary":"Read an export","value":{"exportId":"3a4b5c6d-7e8f-4a9b-8c0d-1e2f3a4b5c6d"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.exports.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.exports.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.exports.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List exports","description":"Returns { items, nextCursor }, newest first: automatic exports of current versions and exports users started.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsListInput"},"examples":{"Exports of a video":{"summary":"Exports of a video","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.exports.start":{"post":{"tags":["Operations: studio"],"operationId":"studio.exports.start","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.exports.start","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Export a video","description":"Returns the export (queued), or the identical export that is already queued or running. Poll studio.exports.get, then fetch studio.exports.downloadUrl.get. A version with an ad layout (document.ad) renders as an ad at 1080p for the placement: hook headline, captions inside the platform safe area, logo and the end card with offer and call to action. Fails with STUDIO_VERSION_INCOMPLETE when a scene has no take (recovery studio.generations.estimate), STUDIO_SCENE_NOT_GENERATED for a scene export without a take (recovery studio.videos.takes.list), STUDIO_EXPORT_NOT_AN_AD for a placement on a version without an ad layout (recovery studio.videos.versions.create) and STUDIO_EXPORT_PLACEMENT_INVALID for a placement with a sceneId.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartInput"},"examples":{"Export the current version":{"summary":"Export the current version","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a"}},"Export one clip":{"summary":"Export one clip","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","sceneId":"s2"}},"Export an ad for the 4:5 feed":{"summary":"Export an ad for the 4:5 feed","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","placement":"feed"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.exports.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioExportsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.generations.cancel":{"post":{"tags":["Operations: studio"],"operationId":"studio.generations.cancel","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.generations.cancel","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Cancel a generation","description":"Returns the generation as cancelled with its settled charge. Fails with STUDIO_GENERATION_NOT_CANCELLABLE once it ended (recovery studio.generations.estimate for the video); a video still shown as generating for that ended generation is re-derived first, so it can be generated again.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelInput"},"examples":{"Cancel a generation":{"summary":"Cancel a generation","value":{"generationId":"2f3a4b5c-6d7e-4f8a-9b0c-1d2e3f4a5b6c"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.generations.estimate":{"post":{"tags":["Operations: studio"],"operationId":"studio.generations.estimate","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.generations.estimate","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Estimate a generation","description":"Stateless: studio.generations.start recomputes it. Returns per-scene estimatedCents (0 for reused takes), totalCents, the auto-start limit and whether a start needs confirmed: true. With quality, videoModel or resolution it prices the version in that quality without switching it (qualitySwitch names what was priced): compare qualities this way, then apply the chosen one with studio.videos.update and start the new version. Fails with STUDIO_VIDEO_DRAFTING while drafting (recovery studio.videos.get), STUDIO_NOTHING_TO_GENERATE when every scene has a take (recovery studio.exports.start, or studio.videos.update for a quoted quality, which switches at no cost), STUDIO_VIDEO_MODEL_CONFLICT for videoModel with standard or pro and STUDIO_RESOLUTION_UNSUPPORTED for a resolution the quality does not render (context.resolutions).","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateInput"},"examples":{"Estimate the newest version":{"summary":"Estimate the newest version","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a"}},"Price the newest version in Pro":{"summary":"Price the newest version in Pro","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","quality":"pro"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.estimate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsEstimateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.generations.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.generations.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.generations.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read a generation","description":"Poll while the status is queued or running. settledCents is set once every scene settled: succeeded takes are charged their actual cost (at most their share of the hold), failed and cancelled ones nothing. Fails with STUDIO_GENERATION_NOT_FOUND (recovery studio.generations.list).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsGetInput"},"examples":{"Read a generation":{"summary":"Read a generation","value":{"generationId":"2f3a4b5c-6d7e-4f8a-9b0c-1d2e3f4a5b6c"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.generations.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.generations.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.generations.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List generations","description":"Returns { items, nextCursor }, newest first, with each generation’s scenes and charges.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsListInput"},"examples":{"Generations of a video":{"summary":"Generations of a video","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","limit":10}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.generations.start":{"post":{"tags":["Operations: studio"],"operationId":"studio.generations.start","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.generations.start","x-moreflow-agent":{"effect":"financial_commitment","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"Start a generation","description":"Returns the generation (queued); poll studio.generations.get or studio.videos.get. The first generation of a video always needs confirmed: true; a later version starts without it when the total is at or under the auto-start limit. Fails with STUDIO_COST_CONFIRMATION_REQUIRED (recovery: the same call with confirmed: true), STUDIO_ESTIMATE_CHANGED when the recomputed total exceeds expectedTotalCents (recovery studio.generations.estimate), STUDIO_GENERATION_ACTIVE (recovery studio.generations.get), AI_QUOTA_EXCEEDED when the credits do not cover the hold, STUDIO_TAKE_LIMIT_REACHED (recovery studio.videos.takes.delete) and STUDIO_GENERATION_UNAVAILABLE when the Studio worker or its video provider is not ready (nothing reserved; recovery studio.settings.get).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartInput"},"examples":{"Start a confirmed generation":{"summary":"Start a confirmed generation","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","versionId":"1e2f3a4b-5c6d-4e7f-8a9b-0c1d2e3f4a5b","expectedTotalCents":180,"confirmed":true}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.generations.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioGenerationsStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ideas.generate":{"post":{"tags":["Operations: studio"],"operationId":"studio.ideas.generate","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ideas.generate","x-moreflow-agent":{"effect":"financial_commitment","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"Generate more Studio ideas","description":"Moves the run to generating_ideas and returns it; poll studio.research.get, then list the new ideas with studio.ideas.list { researchId }. New ideas never repeat an existing title of the project. Fails with STUDIO_RESEARCH_NOT_COMPLETE (recovery studio.research.get), STUDIO_RESEARCH_LIMIT_REACHED, AI_QUOTA_EXCEEDED or STUDIO_PROJECT_ARCHIVED.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateInput"},"examples":{"Five more ideas about pricing":{"summary":"Five more ideas about pricing","value":{"researchId":"0d9e8f7a-6b5c-4d3e-8f2a-1b0c9d8e7f6a","count":5,"steering":"Focus on pricing questions"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_COMPLETE","when":"The research run has not completed, so ideas cannot be generated from it yet.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_COMPLETE","when":"The research run has not completed, so ideas cannot be generated from it yet.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_COMPLETE","when":"The research run has not completed, so ideas cannot be generated from it yet.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_COMPLETE","when":"The research run has not completed, so ideas cannot be generated from it yet.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_COMPLETE","when":"The research run has not completed, so ideas cannot be generated from it yet.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_COMPLETE","when":"The research run has not completed, so ideas cannot be generated from it yet.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_COMPLETE","when":"The research run has not completed, so ideas cannot be generated from it yet.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_COMPLETE","when":"The research run has not completed, so ideas cannot be generated from it yet.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_COMPLETE","when":"The research run has not completed, so ideas cannot be generated from it yet.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.generate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_COMPLETE","when":"The research run has not completed, so ideas cannot be generated from it yet.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGenerateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ideas.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.ideas.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ideas.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read a Studio idea","description":"Returns the idea with videoIds of the videos created from it. Fails with STUDIO_IDEA_NOT_FOUND (recovery studio.ideas.list).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGetInput"},"examples":{"Read an idea":{"summary":"Read an idea","value":{"ideaId":"9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ideas.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.ideas.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ideas.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List Studio ideas","description":"Returns { items, nextCursor }, newest first. Filter by researchId or status (new, saved, dismissed, used). Turn an idea into a video with studio.videos.create { ideaId }.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasListInput"},"examples":{"List saved ideas":{"summary":"List saved ideas","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","status":"saved","limit":20}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.ideas.update":{"post":{"tags":["Operations: studio"],"operationId":"studio.ideas.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.ideas.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Update a Studio idea","description":"Merge patch: status moves new to saved or dismissed and between saved and dismissed; feedback null clears the note. A used idea keeps its status and fails with STUDIO_IDEA_STATUS_INVALID (recovery studio.ideas.get).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateInput"},"examples":{"Save an idea with a note":{"summary":"Save an idea with a note","value":{"ideaId":"9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d","status":"saved","feedback":"Film this in the bakery at 6am."}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_IDEA_STATUS_INVALID","when":"The idea status cannot move to the requested value from its current status.","recovery":{"operation":"studio.ideas.get","requiredFields":["ideaId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_IDEA_STATUS_INVALID","when":"The idea status cannot move to the requested value from its current status.","recovery":{"operation":"studio.ideas.get","requiredFields":["ideaId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_IDEA_STATUS_INVALID","when":"The idea status cannot move to the requested value from its current status.","recovery":{"operation":"studio.ideas.get","requiredFields":["ideaId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_IDEA_STATUS_INVALID","when":"The idea status cannot move to the requested value from its current status.","recovery":{"operation":"studio.ideas.get","requiredFields":["ideaId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_IDEA_STATUS_INVALID","when":"The idea status cannot move to the requested value from its current status.","recovery":{"operation":"studio.ideas.get","requiredFields":["ideaId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_IDEA_STATUS_INVALID","when":"The idea status cannot move to the requested value from its current status.","recovery":{"operation":"studio.ideas.get","requiredFields":["ideaId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_IDEA_STATUS_INVALID","when":"The idea status cannot move to the requested value from its current status.","recovery":{"operation":"studio.ideas.get","requiredFields":["ideaId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_IDEA_STATUS_INVALID","when":"The idea status cannot move to the requested value from its current status.","recovery":{"operation":"studio.ideas.get","requiredFields":["ideaId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_IDEA_STATUS_INVALID","when":"The idea status cannot move to the requested value from its current status.","recovery":{"operation":"studio.ideas.get","requiredFields":["ideaId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.ideas.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_IDEA_STATUS_INVALID","when":"The idea status cannot move to the requested value from its current status.","recovery":{"operation":"studio.ideas.get","requiredFields":["ideaId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioIdeasUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.posts.cancel":{"post":{"tags":["Operations: studio"],"operationId":"studio.posts.cancel","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.posts.cancel","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Cancel a Studio post","description":"Returns the post as cancelled and stops a scheduled dispatch. A post that is already publishing, published or failed fails with STUDIO_POST_NOT_CANCELLABLE (recovery studio.posts.get).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelInput"},"examples":{"Cancel a scheduled post":{"summary":"Cancel a scheduled post","value":{"postId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_CANCELLABLE","when":"Only scheduled or draft posts can be cancelled; this post is already publishing or finished.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_CANCELLABLE","when":"Only scheduled or draft posts can be cancelled; this post is already publishing or finished.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_CANCELLABLE","when":"Only scheduled or draft posts can be cancelled; this post is already publishing or finished.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_CANCELLABLE","when":"Only scheduled or draft posts can be cancelled; this post is already publishing or finished.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_CANCELLABLE","when":"Only scheduled or draft posts can be cancelled; this post is already publishing or finished.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_CANCELLABLE","when":"Only scheduled or draft posts can be cancelled; this post is already publishing or finished.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_CANCELLABLE","when":"Only scheduled or draft posts can be cancelled; this post is already publishing or finished.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_CANCELLABLE","when":"Only scheduled or draft posts can be cancelled; this post is already publishing or finished.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_CANCELLABLE","when":"Only scheduled or draft posts can be cancelled; this post is already publishing or finished.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_CANCELLABLE","when":"Only scheduled or draft posts can be cancelled; this post is already publishing or finished.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.posts.create":{"post":{"tags":["Operations: studio"],"operationId":"studio.posts.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.posts.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Create a Studio post","description":"Runs the studio.posts.readiness.get checks and fails with the first failing code: STUDIO_EXPORT_REQUIRED (studio.exports.start), STUDIO_AD_QC_NOT_PASSED for an ad export whose QC run has not passed (the recovery of the run, e.g. studio.videos.scenes.retry), STUDIO_EXPORT_INCOMPATIBLE (studio.videos.update { aspectRatio }), STUDIO_SOCIAL_ACCOUNT_NOT_CONNECTED or STUDIO_SOCIAL_ACCOUNT_SCOPES_MISSING (studio.socialAccounts.connect { platform }) or STUDIO_SOCIAL_ACCOUNT_NOT_LINKED (studio.projects.update { socialAccountIds }). Omitted platform options default to public posts; TikTok always carries the AI-generated label.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateInput"},"examples":{"Draft a TikTok post":{"summary":"Draft a TikTok post","value":{"exportId":"9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a","socialAccountId":"7a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d","caption":"Three moves before coffee #fitness","platformOptions":{"platform":"tiktok","privacyLevel":"public_to_everyone"}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.posts.delete":{"post":{"tags":["Operations: studio"],"operationId":"studio.posts.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.posts.delete","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Delete a Studio post","description":"Deletes a draft, cancelled, failed or approval_invalidated post. A scheduled post fails with STUDIO_POST_NOT_EDITABLE (recovery studio.posts.cancel); published and publishing posts are kept.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteInput"},"examples":{"Delete a draft":{"summary":"Delete a draft","value":{"postId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.posts.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.posts.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.posts.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read a Studio post","description":"Poll this after studio.posts.publish: publishing becomes published (with publicationUrl) or failed (with failureCode). latestMetric is the newest metric checkpoint. Fails with STUDIO_POST_NOT_FOUND (recovery studio.posts.list).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsGetInput"},"examples":{"Read a post":{"summary":"Read a post","value":{"postId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.posts.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.posts.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.posts.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List Studio posts","description":"Returns { items, nextCursor }, newest first. Filter by projectId, videoId or status (draft, scheduled, publishing, published, failed, cancelled, approval_invalidated). Each post carries canManage.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsListInput"},"examples":{"List scheduled posts":{"summary":"List scheduled posts","value":{"status":"scheduled","limit":20}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.posts.metrics.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.posts.metrics.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.posts.metrics.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List post metrics","description":"Returns { items, nextCursor }, newest observation first, one row per checkpoint (h1, h24, h72, d7, d28). available is false with unavailableReason provider_unsupported (TikTok), token_revoked, not_found or provider_error when the platform reported nothing.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListInput"},"examples":{"List metrics of a post":{"summary":"List metrics of a post","value":{"postId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.metrics.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsMetricsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.posts.publish":{"post":{"tags":["Operations: studio"],"operationId":"studio.posts.publish","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.posts.publish","x-moreflow-agent":{"effect":"external_communication","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"Publish a Studio post","description":"Returns the post as publishing; poll studio.posts.get until it is published (publicationUrl) or failed (failureCode). A failed post is retried by calling this again. Runs the readiness checks of studio.posts.create first. Under a standing approval the rule must cover { provider, social account, studio_post, projectId }, otherwise CONFIRMATION_REQUIRED. STUDIO_PUBLISH_FAILED (retryable) means the dispatch could not start; nothing was posted.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishInput"},"examples":{"Publish a post":{"summary":"Publish a post","value":{"postId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.publish"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsPublishError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.posts.readiness.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.posts.readiness.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.posts.readiness.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Check post readiness","description":"Returns { ready, platform, checks: [{ code, ok, message, recovery }] }. Each failing check names the STUDIO_* code studio.posts.create would fail with and the operation that fixes it (studio.exports.start, studio.videos.scenes.retry, studio.videos.update, studio.socialAccounts.connect or studio.projects.update). An ad export (one with a placement) also needs a passed QC run (STUDIO_AD_QC_NOT_PASSED; see studio.ads.delivery.get). Unknown ids fail with STUDIO_EXPORT_NOT_FOUND or STUDIO_SOCIAL_ACCOUNT_NOT_FOUND.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetInput"},"examples":{"Check an export for Instagram":{"summary":"Check an export for Instagram","value":{"exportId":"9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a","socialAccountId":"7a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.readiness.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsReadinessGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.posts.schedule":{"post":{"tags":["Operations: studio"],"operationId":"studio.posts.schedule","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.posts.schedule","x-moreflow-agent":{"effect":"external_communication","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"Schedule a Studio post","description":"Returns the post as scheduled. Rescheduling a scheduled post replaces its time. At the scheduled time the post is published; if it was scheduled under a standing approval that no longer covers it, it becomes approval_invalidated instead. Fails with STUDIO_SCHEDULE_INVALID outside 5 minutes to 90 days ahead, the readiness codes of studio.posts.create, or CONFIRMATION_REQUIRED.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleInput"},"examples":{"Schedule for Monday morning":{"summary":"Schedule for Monday morning","value":{"postId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f","scheduledFor":"2026-11-02T08:00:00+01:00"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}},{"code":"STUDIO_SCHEDULE_INVALID","when":"The scheduled time must be at least 5 minutes ahead and no more than 90 days away.","recovery":{"operation":"studio.posts.schedule","requiredFields":["postId","scheduledFor"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}},{"code":"STUDIO_SCHEDULE_INVALID","when":"The scheduled time must be at least 5 minutes ahead and no more than 90 days away.","recovery":{"operation":"studio.posts.schedule","requiredFields":["postId","scheduledFor"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}},{"code":"STUDIO_SCHEDULE_INVALID","when":"The scheduled time must be at least 5 minutes ahead and no more than 90 days away.","recovery":{"operation":"studio.posts.schedule","requiredFields":["postId","scheduledFor"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}},{"code":"STUDIO_SCHEDULE_INVALID","when":"The scheduled time must be at least 5 minutes ahead and no more than 90 days away.","recovery":{"operation":"studio.posts.schedule","requiredFields":["postId","scheduledFor"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}},{"code":"STUDIO_SCHEDULE_INVALID","when":"The scheduled time must be at least 5 minutes ahead and no more than 90 days away.","recovery":{"operation":"studio.posts.schedule","requiredFields":["postId","scheduledFor"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}},{"code":"STUDIO_SCHEDULE_INVALID","when":"The scheduled time must be at least 5 minutes ahead and no more than 90 days away.","recovery":{"operation":"studio.posts.schedule","requiredFields":["postId","scheduledFor"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}},{"code":"STUDIO_SCHEDULE_INVALID","when":"The scheduled time must be at least 5 minutes ahead and no more than 90 days away.","recovery":{"operation":"studio.posts.schedule","requiredFields":["postId","scheduledFor"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}},{"code":"STUDIO_SCHEDULE_INVALID","when":"The scheduled time must be at least 5 minutes ahead and no more than 90 days away.","recovery":{"operation":"studio.posts.schedule","requiredFields":["postId","scheduledFor"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}},{"code":"STUDIO_SCHEDULE_INVALID","when":"The scheduled time must be at least 5 minutes ahead and no more than 90 days away.","recovery":{"operation":"studio.posts.schedule","requiredFields":["postId","scheduledFor"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.schedule"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_PUBLISHABLE","when":"The post is not ready to publish: its export, account link or readiness checks failed.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}},{"code":"STUDIO_PUBLISH_FAILED","when":"The platform rejected the post or could not complete the publish; the failure is retryable.","recovery":{"operation":"studio.posts.publish","requiredFields":["postId"]}},{"code":"STUDIO_SCHEDULE_INVALID","when":"The scheduled time must be at least 5 minutes ahead and no more than 90 days away.","recovery":{"operation":"studio.posts.schedule","requiredFields":["postId","scheduledFor"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsScheduleError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.posts.update":{"post":{"tags":["Operations: studio"],"operationId":"studio.posts.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.posts.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Update a Studio post","description":"Only the given fields change; platform options merge field by field and must match the post platform (STUDIO_PLATFORM_OPTIONS_INVALID). Editing a scheduled post cancels its dispatch and returns it to draft, because the approval covered the earlier text; schedule it again. Other statuses fail with STUDIO_POST_NOT_EDITABLE (recovery studio.posts.get).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateInput"},"examples":{"Change the caption":{"summary":"Change the caption","value":{"postId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f","caption":"Three moves before coffee, day two #fitness"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.posts.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_POST_NOT_EDITABLE","when":"Only draft, cancelled or failed posts can be changed or deleted.","recovery":{"operation":"studio.posts.get","requiredFields":["postId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPostsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.presenters.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.presenters.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.presenters.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read a Studio stock presenter","description":"Returns one entry of studio.presenters.list, retired presenters included. Fails with STUDIO_PRESENTER_NOT_FOUND for an unknown id (recovery studio.presenters.list).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersGetInput"},"examples":{"Anna":{"summary":"Anna","value":{"presenterId":"presenter_anna"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PRESENTER_NOT_FOUND","when":"The id is not a stock presenter.","recovery":{"operation":"studio.presenters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PRESENTER_NOT_FOUND","when":"The id is not a stock presenter.","recovery":{"operation":"studio.presenters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PRESENTER_NOT_FOUND","when":"The id is not a stock presenter.","recovery":{"operation":"studio.presenters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PRESENTER_NOT_FOUND","when":"The id is not a stock presenter.","recovery":{"operation":"studio.presenters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PRESENTER_NOT_FOUND","when":"The id is not a stock presenter.","recovery":{"operation":"studio.presenters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PRESENTER_NOT_FOUND","when":"The id is not a stock presenter.","recovery":{"operation":"studio.presenters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PRESENTER_NOT_FOUND","when":"The id is not a stock presenter.","recovery":{"operation":"studio.presenters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PRESENTER_NOT_FOUND","when":"The id is not a stock presenter.","recovery":{"operation":"studio.presenters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PRESENTER_NOT_FOUND","when":"The id is not a stock presenter.","recovery":{"operation":"studio.presenters.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.presenters.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.presenters.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.presenters.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List Studio stock presenters","description":"Returns { items, nextCursor: null }, active presenters in library order (retired ones only with includeRetired). Each item: id, name, appearance, summary { de, en }, languages, voices [{ language, provider, voice }], rendering { provider, reference }, provenance, status and previewUrl (a small public portrait JPEG for a picker; absent without a configured web origin). Pick one for an ad with studio.videos.create { ad: { brief, script, presenterId } }; every scene of that ad shows the presenter's face and speaks in its voice for the ad language, and its exports are flagged for the AI-generated label.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersListInput"},"examples":{"Presenters for a German ad":{"summary":"Presenters for a German ad","value":{"language":"de"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.presenters.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioPresentersListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.projects.archive":{"post":{"tags":["Operations: studio"],"operationId":"studio.projects.archive","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.projects.archive","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Archive a Studio project","description":"Archiving an archived project returns it unchanged. A project with scheduled posts fails with STUDIO_PROJECT_HAS_SCHEDULED_POSTS (recovery studio.posts.cancel for one of them).","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveInput"},"examples":{"Archive a project":{"summary":"Archive a project","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_HAS_SCHEDULED_POSTS","when":"The project has scheduled posts; cancel them before archiving the project.","recovery":{"operation":"studio.posts.list","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_HAS_SCHEDULED_POSTS","when":"The project has scheduled posts; cancel them before archiving the project.","recovery":{"operation":"studio.posts.list","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_HAS_SCHEDULED_POSTS","when":"The project has scheduled posts; cancel them before archiving the project.","recovery":{"operation":"studio.posts.list","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_HAS_SCHEDULED_POSTS","when":"The project has scheduled posts; cancel them before archiving the project.","recovery":{"operation":"studio.posts.list","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_HAS_SCHEDULED_POSTS","when":"The project has scheduled posts; cancel them before archiving the project.","recovery":{"operation":"studio.posts.list","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_HAS_SCHEDULED_POSTS","when":"The project has scheduled posts; cancel them before archiving the project.","recovery":{"operation":"studio.posts.list","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_HAS_SCHEDULED_POSTS","when":"The project has scheduled posts; cancel them before archiving the project.","recovery":{"operation":"studio.posts.list","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_HAS_SCHEDULED_POSTS","when":"The project has scheduled posts; cancel them before archiving the project.","recovery":{"operation":"studio.posts.list","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_HAS_SCHEDULED_POSTS","when":"The project has scheduled posts; cancel them before archiving the project.","recovery":{"operation":"studio.posts.list","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.archive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_HAS_SCHEDULED_POSTS","when":"The project has scheduled posts; cancel them before archiving the project.","recovery":{"operation":"studio.posts.list","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsArchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.projects.brief.propose":{"post":{"tags":["Operations: studio"],"operationId":"studio.projects.brief.propose","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.projects.brief.propose","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Propose a Studio project brief","description":"Returns { brief } without saving it; edit it and save it with studio.projects.update { brief }. A website that cannot be read fails with STUDIO_WEBSITE_UNREACHABLE (recovery studio.projects.update to type the brief).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeInput"},"examples":{"Draft a brief from a website":{"summary":"Draft a brief from a website","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","websiteUrl":"https://example.com","language":"en"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting a brief.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; the brief cannot be drafted from it.","recovery":{"operation":"studio.projects.update","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting a brief.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; the brief cannot be drafted from it.","recovery":{"operation":"studio.projects.update","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting a brief.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; the brief cannot be drafted from it.","recovery":{"operation":"studio.projects.update","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting a brief.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; the brief cannot be drafted from it.","recovery":{"operation":"studio.projects.update","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting a brief.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; the brief cannot be drafted from it.","recovery":{"operation":"studio.projects.update","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting a brief.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; the brief cannot be drafted from it.","recovery":{"operation":"studio.projects.update","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting a brief.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; the brief cannot be drafted from it.","recovery":{"operation":"studio.projects.update","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting a brief.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; the brief cannot be drafted from it.","recovery":{"operation":"studio.projects.update","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting a brief.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; the brief cannot be drafted from it.","recovery":{"operation":"studio.projects.update","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for drafting a brief.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"AI_UNAVAILABLE","when":"The AI drafting service is temporarily unavailable; retry later.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.brief.propose"}}},{"code":"STUDIO_WEBSITE_UNREACHABLE","when":"The website could not be read; the brief cannot be drafted from it.","recovery":{"operation":"studio.projects.update","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.projects.create":{"post":{"tags":["Operations: studio"],"operationId":"studio.projects.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.projects.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Create a Studio project","description":"Creates an active project. Omitted defaults are 9:16, standard quality (HeyGen Video 1) and 15 seconds. Fails with STUDIO_PROJECT_LIMIT_REACHED at 20 active projects (recovery studio.projects.archive), STUDIO_CHARACTER_NOT_FOUND (recovery studio.characters.list) or STUDIO_SOCIAL_ACCOUNT_NOT_FOUND (recovery studio.socialAccounts.list) for ids outside the account.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateInput"},"examples":{"Create a project for a bakery":{"summary":"Create a project for a bakery","value":{"name":"Spring bakery reels","brief":{"audience":"Local families","offer":"Fresh sourdough every morning","language":"en"},"formats":["instagram_reel","tiktok"],"characterIds":["2b7e1c4d-9f3a-4e8b-a1c2-d3e4f5a6b7c8"]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.projects.delete":{"post":{"tags":["Operations: studio"],"operationId":"studio.projects.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.projects.delete","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"Delete a Studio project","description":"Deletes the project and every child row (research, ideas, videos, versions, takes, generations, exports, posts). Only archived projects can be deleted; an active one fails with STUDIO_PROJECT_NOT_ARCHIVED (recovery studio.projects.archive).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteInput"},"examples":{"Delete an archived project":{"summary":"Delete an archived project","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_NOT_ARCHIVED","when":"Only archived projects can be deleted.","recovery":{"operation":"studio.projects.archive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_NOT_ARCHIVED","when":"Only archived projects can be deleted.","recovery":{"operation":"studio.projects.archive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_NOT_ARCHIVED","when":"Only archived projects can be deleted.","recovery":{"operation":"studio.projects.archive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_NOT_ARCHIVED","when":"Only archived projects can be deleted.","recovery":{"operation":"studio.projects.archive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_NOT_ARCHIVED","when":"Only archived projects can be deleted.","recovery":{"operation":"studio.projects.archive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_NOT_ARCHIVED","when":"Only archived projects can be deleted.","recovery":{"operation":"studio.projects.archive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_NOT_ARCHIVED","when":"Only archived projects can be deleted.","recovery":{"operation":"studio.projects.archive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_NOT_ARCHIVED","when":"Only archived projects can be deleted.","recovery":{"operation":"studio.projects.archive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_NOT_ARCHIVED","when":"Only archived projects can be deleted.","recovery":{"operation":"studio.projects.archive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_NOT_ARCHIVED","when":"Only archived projects can be deleted.","recovery":{"operation":"studio.projects.archive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.projects.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.projects.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.projects.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read a Studio project","description":"Returns the project with its brief, brand, formats, video defaults, characterIds, socialAccountIds, canManage and videoCounts exact per stage (total, inProgress, draft, ready, failed). Fails with STUDIO_PROJECT_NOT_FOUND (recovery studio.projects.list).","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsGetInput"},"examples":{"Read a project":{"summary":"Read a project","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.projects.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.projects.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.projects.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List Studio projects","description":"Returns { items, nextCursor } ordered by last update. Pass status to see only active or archived projects and nextCursor to page. Each project carries canManage and videoCounts (total, inProgress, draft, ready, failed).","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsListInput"},"examples":{"List active projects":{"summary":"List active projects","value":{"status":"active","limit":20}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.projects.unarchive":{"post":{"tags":["Operations: studio"],"operationId":"studio.projects.unarchive","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.projects.unarchive","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Unarchive a Studio project","description":"Unarchiving an active project returns it unchanged. Fails with STUDIO_PROJECT_LIMIT_REACHED when 20 projects are already active (recovery studio.projects.archive).","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveInput"},"examples":{"Unarchive a project":{"summary":"Unarchive a project","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.unarchive"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_PROJECT_LIMIT_REACHED","when":"The account has reached its active project limit; archive a project to make room.","recovery":{"operation":"studio.projects.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUnarchiveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.projects.update":{"post":{"tags":["Operations: studio"],"operationId":"studio.projects.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.projects.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Update a Studio project","description":"Only the given fields change; null clears a brief or brand field; arrays replace. An archived project fails with STUDIO_PROJECT_ARCHIVED (recovery studio.projects.unarchive). Unknown characters or social accounts fail as in studio.projects.create.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateInput"},"examples":{"Rename and recolour a project":{"summary":"Rename and recolour a project","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","name":"Summer bakery reels","brand":{"primaryColor":"#c2410c"}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.projects.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_ASSET_NOT_FOUND","when":"A referenced media asset does not exist in this account.","recovery":{"operation":"media.assets.list","args":{}}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioProjectsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.research.cancel":{"post":{"tags":["Operations: studio"],"operationId":"studio.research.cancel","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.research.cancel","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Cancel Studio research","description":"Moves a queued, fetching, analyzing or generating_ideas run to cancelled and stops its workflow; copied media is deleted and ideas already written stay. A finished run fails with STUDIO_RESEARCH_NOT_CANCELLABLE (recovery studio.research.get).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelInput"},"examples":{"Cancel a run":{"summary":"Cancel a run","value":{"researchId":"0d9e8f7a-6b5c-4d3e-8f2a-1b0c9d8e7f6a"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_CANCELLABLE","when":"The research run already finished and cannot be cancelled.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_CANCELLABLE","when":"The research run already finished and cannot be cancelled.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_CANCELLABLE","when":"The research run already finished and cannot be cancelled.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_CANCELLABLE","when":"The research run already finished and cannot be cancelled.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_CANCELLABLE","when":"The research run already finished and cannot be cancelled.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_CANCELLABLE","when":"The research run already finished and cannot be cancelled.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_CANCELLABLE","when":"The research run already finished and cannot be cancelled.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_CANCELLABLE","when":"The research run already finished and cannot be cancelled.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_CANCELLABLE","when":"The research run already finished and cannot be cancelled.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.cancel"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_NOT_CANCELLABLE","when":"The research run already finished and cannot be cancelled.","recovery":{"operation":"studio.research.get","requiredFields":["researchId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchCancelError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.research.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.research.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.research.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read Studio research","description":"Poll after studio.research.start or studio.ideas.generate until status is succeeded, failed or cancelled; then list its ideas with studio.ideas.list { projectId, researchId }. Fails with STUDIO_RESEARCH_NOT_FOUND (recovery studio.research.list).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchGetInput"},"examples":{"Read a research run":{"summary":"Read a research run","value":{"researchId":"0d9e8f7a-6b5c-4d3e-8f2a-1b0c9d8e7f6a"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.research.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.research.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.research.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List Studio research","description":"Returns { items, nextCursor }, newest first; filter by status. An unknown project fails with STUDIO_PROJECT_NOT_FOUND (recovery studio.projects.list).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchListInput"},"examples":{"List finished research":{"summary":"List finished research","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","status":"succeeded","limit":10}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.research.start":{"post":{"tags":["Operations: studio"],"operationId":"studio.research.start","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.research.start","x-moreflow-agent":{"effect":"financial_commitment","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"Start Studio research","description":"Returns the run as queued; poll studio.research.get. Profile and reference runs fetch public Instagram, TikTok or YouTube items, extract media evidence, summarise hooks, formats and topics, then write 10 ideas; prompt runs only write ideas. Reserves AI credits for the run and settles the measured cost. Fails with STUDIO_RESEARCH_SOURCE_INVALID (details.fieldViolations; retry with a corrected source), STUDIO_RESEARCH_LIMIT_REACHED at 2 active runs (recovery studio.research.get), AI_QUOTA_EXCEEDED, STUDIO_PROJECT_ARCHIVED (recovery studio.projects.unarchive) or STUDIO_PROJECT_NOT_FOUND.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartInput"},"examples":{"Analyse an Instagram profile":{"summary":"Analyse an Instagram profile","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","source":{"kind":"profile","profileUrl":"https://www.instagram.com/examplebakery/"}}},"Ideas from a prompt":{"summary":"Ideas from a prompt","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","source":{"kind":"prompt","prompt":"Behind the scenes of a sourdough bakery"}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_SOURCE_INVALID","when":"The research source is invalid; the field path names the value to correct.","recovery":{"operation":"studio.research.start","requiredFields":["projectId","source"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_SOURCE_INVALID","when":"The research source is invalid; the field path names the value to correct.","recovery":{"operation":"studio.research.start","requiredFields":["projectId","source"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_SOURCE_INVALID","when":"The research source is invalid; the field path names the value to correct.","recovery":{"operation":"studio.research.start","requiredFields":["projectId","source"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_SOURCE_INVALID","when":"The research source is invalid; the field path names the value to correct.","recovery":{"operation":"studio.research.start","requiredFields":["projectId","source"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_SOURCE_INVALID","when":"The research source is invalid; the field path names the value to correct.","recovery":{"operation":"studio.research.start","requiredFields":["projectId","source"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_SOURCE_INVALID","when":"The research source is invalid; the field path names the value to correct.","recovery":{"operation":"studio.research.start","requiredFields":["projectId","source"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_SOURCE_INVALID","when":"The research source is invalid; the field path names the value to correct.","recovery":{"operation":"studio.research.start","requiredFields":["projectId","source"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_SOURCE_INVALID","when":"The research source is invalid; the field path names the value to correct.","recovery":{"operation":"studio.research.start","requiredFields":["projectId","source"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_SOURCE_INVALID","when":"The research source is invalid; the field path names the value to correct.","recovery":{"operation":"studio.research.start","requiredFields":["projectId","source"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.research.start"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_RESEARCH_SOURCE_INVALID","when":"The research source is invalid; the field path names the value to correct.","recovery":{"operation":"studio.research.start","requiredFields":["projectId","source"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioResearchStartError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.settings.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.settings.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.settings.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read Studio settings","description":"Returns repromptAutoStartLimitCents (default 200; a change whose regeneration costs at most this starts without confirmation, 0 always asks), syntheticDisclosureEnabled (default false; when true every export burns an AI-generated label over generated clips), the currency, the capabilities canManage, canVerifyLikeness, canGenerateVideo and canPublish, videoModels (the models a custom quality may name, with availability, their resolutions and whether likeness scenes fall back to the pro model), defaultVideoModel (the custom model taken when none is named), tierModels (the model standard and pro run now, id and label), and qualityResolutions (the resolutions of standard and pro). Clients show actions only when the capability is true; every mutation re-checks. This read never changes data.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSettingsGetInput"},"examples":{"Read Studio settings":{"summary":"Read Studio settings","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSettingsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.settings.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSettingsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.socialAccounts.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.socialAccounts.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.socialAccounts.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List social accounts","description":"Returns { items, nextCursor }, newest connection first. status is connected, scopes_missing (reconnect with studio.socialAccounts.connect to grant publishing) or revoked. canPublish and canReadMetrics are server capabilities; TikTok never reports metrics. Link an account to a project with studio.projects.update { socialAccountIds }.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListInput"},"examples":{"List Instagram accounts":{"summary":"List Instagram accounts","value":{"platform":"instagram","limit":20}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.socialAccounts.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioSocialAccountsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.templates.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.templates.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.templates.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read a Studio starter template","description":"Returns one entry of studio.templates.list. Fill the required slots and create the video with studio.videos.create { templateId, slots }; a slot value that is missing or invalid fails with VALIDATION_ERROR naming the slot (recovery studio.templates.get).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesGetInput"},"examples":{"Product close-up":{"summary":"Product close-up","value":{"templateId":"product_close_up"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TEMPLATE_NOT_FOUND","when":"The template id is not a starter template.","recovery":{"operation":"studio.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TEMPLATE_NOT_FOUND","when":"The template id is not a starter template.","recovery":{"operation":"studio.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TEMPLATE_NOT_FOUND","when":"The template id is not a starter template.","recovery":{"operation":"studio.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TEMPLATE_NOT_FOUND","when":"The template id is not a starter template.","recovery":{"operation":"studio.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TEMPLATE_NOT_FOUND","when":"The template id is not a starter template.","recovery":{"operation":"studio.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TEMPLATE_NOT_FOUND","when":"The template id is not a starter template.","recovery":{"operation":"studio.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TEMPLATE_NOT_FOUND","when":"The template id is not a starter template.","recovery":{"operation":"studio.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TEMPLATE_NOT_FOUND","when":"The template id is not a starter template.","recovery":{"operation":"studio.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TEMPLATE_NOT_FOUND","when":"The template id is not a starter template.","recovery":{"operation":"studio.templates.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.templates.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.templates.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.templates.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List Studio starter templates","description":"Returns { items, nextCursor } with one entry per template (nextCursor is always null, the catalog is one page): id, name { de, en }, purpose { de, en }, exampleClip (null until one is produced), shape, aspectRatio, durationSeconds and slots. Create a video from one with studio.videos.create { templateId, slots }.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesListInput"},"examples":{"All formats":{"summary":"All formats","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.templates.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioTemplatesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.brief.propose":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.brief.propose","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.brief.propose","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Propose a Studio video brief","description":"With templateId and slots the brief is rendered from the template in the video language (language, else the project language, else the default) without any AI call (no credits): readiness is ready, assumptions and questions are empty, and missing lists the empty fields. Slot errors fail like studio.videos.create (VALIDATION_ERROR naming the slot). Returns { brief, assumptions, missing, questions, readiness } without saving anything. readiness is needs_answers only when the request names no concrete subject or action to film; then questions holds one or two questions with 2–6 choices. Otherwise it is ready and every value the request did not state is listed in assumptions with its source (project_brief, company_context, default, prompt). A shot-level request (timed beats, camera, light) is always ready. Confirm or edit the brief, then create the video with studio.videos.create { prompt, ideaId or templateId with slots, projectId, brief }. Fails with STUDIO_PROJECT_ARCHIVED (recovery studio.projects.unarchive), AI_QUOTA_EXCEEDED (recovery billing.pricing_plans.list) or AI_UNAVAILABLE (recovery studio.videos.create without a brief).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeInput"},"examples":{"Assess a vague request":{"summary":"Assess a vague request","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","prompt":"Something cool for Instagram","language":"en"}},"Assess a request with a mascot":{"summary":"Assess a request with a mascot","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","prompt":"@Flow types fast and sends off a stack of letters as paper airplanes"}},"Brief from a starter template":{"summary":"Brief from a starter template","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","templateId":"product_close_up","slots":{"product":"the ceramic pour-over kettle","message":"It pours evenly and keeps its heat"}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for assessing a video request.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The assessment model is temporarily unavailable; create the video from the prompt directly.","recovery":{"operation":"studio.videos.create","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before planning videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt or an ideaId.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for assessing a video request.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The assessment model is temporarily unavailable; create the video from the prompt directly.","recovery":{"operation":"studio.videos.create","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before planning videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt or an ideaId.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for assessing a video request.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The assessment model is temporarily unavailable; create the video from the prompt directly.","recovery":{"operation":"studio.videos.create","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before planning videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt or an ideaId.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for assessing a video request.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The assessment model is temporarily unavailable; create the video from the prompt directly.","recovery":{"operation":"studio.videos.create","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before planning videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt or an ideaId.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for assessing a video request.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The assessment model is temporarily unavailable; create the video from the prompt directly.","recovery":{"operation":"studio.videos.create","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before planning videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt or an ideaId.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for assessing a video request.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The assessment model is temporarily unavailable; create the video from the prompt directly.","recovery":{"operation":"studio.videos.create","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before planning videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt or an ideaId.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for assessing a video request.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The assessment model is temporarily unavailable; create the video from the prompt directly.","recovery":{"operation":"studio.videos.create","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before planning videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt or an ideaId.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for assessing a video request.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The assessment model is temporarily unavailable; create the video from the prompt directly.","recovery":{"operation":"studio.videos.create","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before planning videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt or an ideaId.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for assessing a video request.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The assessment model is temporarily unavailable; create the video from the prompt directly.","recovery":{"operation":"studio.videos.create","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before planning videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt or an ideaId.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"AI_QUOTA_EXCEEDED","when":"The account has no AI credits left for assessing a video request.","recovery":{"operation":"billing.entitlements.get","args":{"usage":["ai_usage"]}}},{"code":"AI_UNAVAILABLE","when":"The assessment model is temporarily unavailable; create the video from the prompt directly.","recovery":{"operation":"studio.videos.create","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before planning videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt or an ideaId.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.brief.propose"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosBriefProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.changes.propose":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.changes.propose","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.changes.propose","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Change a video","description":"Returns the change version in status drafting; poll studio.videos.get. When drafted: cost 0 makes it current (autoStart skipped_no_cost); with autoStart and a cost at or under the limit the generation starts (started); otherwise autoStart is confirmation_required and studio.generations.start { confirmed: true } starts it. With audioMode the draft switches the whole video to that audio mode (voice_over, dialog or none); the version's audioMode reports it. Fails with STUDIO_GENERATION_ACTIVE (recovery studio.generations.get), STUDIO_VIDEO_DRAFTING (recovery studio.videos.get), STUDIO_SCENE_NOT_FOUND (recovery studio.videos.versions.get) or STUDIO_AUDIO_MODE_UNCHANGED (the video already uses that audio mode).","x-moreflow-contract-version":"3","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeInput"},"examples":{"Brighter opening":{"summary":"Brighter opening","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","instruction":"Make the first scene brighter and end on the logo.","autoStart":false}},"Dialog instead of a voice-over":{"summary":"Dialog instead of a voice-over","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","audioMode":"dialog","autoStart":false}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.changes.propose"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosChangesProposeError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.create":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Create a Studio video","description":"Returns the video in status drafting; suggestedShape is set when drafting completes. Exactly one of prompt, ideaId, templateId or ad (STUDIO_PROMPT_REQUIRED). An ad { brief, script } (studio.ads.scripts.generate) is checked again (VALIDATION_ERROR with details.issues, e.g. an unsupported claim; recovery studio.ads.scripts.generate), drafts one presenter speaking every beat to the camera in one setting as a 9:16 story, and is recorded on the video (brief.ad: hook, beats, offer, callToAction, brandKit); it takes no slots, brief or audioMode. A templateId with its slots (studio.templates.get) fills the brief and the shot structure of the drafted scenes, takes the template shape and aspect ratio unless given, and records the template on the video (brief.template); a missing or invalid slot fails with VALIDATION_ERROR naming it (recovery studio.templates.get). With templateId an optional brief (the template brief from studio.videos.brief.propose, edited as needed) replaces the rendered brief fields and keeps the template reference; without it the rendered brief is used. An optional brief is stored on the video and every draft follows it; its cast must be characters of the account (STUDIO_CHARACTER_NOT_FOUND). referenceImageIds are finished private uploads (storage.upload.begin with purpose studio_video_reference) that every scene is generated against; an unusable one fails with VALIDATION_ERROR naming it (recovery storage.upload.begin). @Name mentions must match active characters (STUDIO_CHARACTER_MENTION_UNRESOLVED, recovery studio.characters.list). An archived project fails with STUDIO_PROJECT_ARCHIVED (recovery studio.projects.unarchive); auto-creating a project at the 20-project limit fails with STUDIO_PROJECT_LIMIT_REACHED (recovery studio.projects.archive).","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateInput"},"examples":{"Video from a prompt":{"summary":"Video from a prompt","value":{"prompt":"@Mia shows how our sourdough is baked at 5 am","aspectRatio":"9:16"}},"Video from an idea":{"summary":"Video from an idea","value":{"ideaId":"7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d"}},"Video from a starter template":{"summary":"Video from a starter template","value":{"templateId":"product_close_up","slots":{"product":"the ceramic pour-over kettle","message":"It pours evenly and keeps its heat"}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.create","args":{"quality":"custom"}}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt, an ideaId, a templateId or an ad.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.create","args":{"quality":"custom"}}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt, an ideaId, a templateId or an ad.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.create","args":{"quality":"custom"}}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt, an ideaId, a templateId or an ad.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.create","args":{"quality":"custom"}}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt, an ideaId, a templateId or an ad.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.create","args":{"quality":"custom"}}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt, an ideaId, a templateId or an ad.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.create","args":{"quality":"custom"}}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt, an ideaId, a templateId or an ad.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.create","args":{"quality":"custom"}}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt, an ideaId, a templateId or an ad.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.create","args":{"quality":"custom"}}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt, an ideaId, a templateId or an ad.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.create","args":{"quality":"custom"}}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt, an ideaId, a templateId or an ad.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.create","args":{"quality":"custom"}}},{"code":"STUDIO_CHARACTER_MENTION_UNRESOLVED","when":"A @mention in the prompt does not match an active character of this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_CHARACTER_NOT_FOUND","when":"The character does not exist in this account.","recovery":{"operation":"studio.characters.list","args":{}}},{"code":"STUDIO_IDEA_NOT_FOUND","when":"The idea does not exist in this account.","recovery":{"operation":"studio.ideas.list","requiredFields":["projectId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The project is archived; unarchive it before changing it or creating videos in it.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}},{"code":"STUDIO_PROMPT_REQUIRED","when":"Provide exactly one of a prompt, an ideaId, a templateId or an ad.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.create"}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.delete":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.delete","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"Delete a Studio video","description":"Deletes the video and every child row. Fails with STUDIO_GENERATION_ACTIVE while a generation runs (recovery studio.generations.cancel) and STUDIO_VIDEO_HAS_SCHEDULED_POSTS while posts are scheduled (recovery studio.posts.cancel).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteInput"},"examples":{"Delete a video":{"summary":"Delete a video","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation is running for this video; cancel it before deleting the video.","recovery":{"operation":"studio.generations.list","requiredFields":["videoId"]}},{"code":"STUDIO_VIDEO_HAS_SCHEDULED_POSTS","when":"Scheduled posts use this video; cancel them before deleting the video.","recovery":{"operation":"studio.posts.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation is running for this video; cancel it before deleting the video.","recovery":{"operation":"studio.generations.list","requiredFields":["videoId"]}},{"code":"STUDIO_VIDEO_HAS_SCHEDULED_POSTS","when":"Scheduled posts use this video; cancel them before deleting the video.","recovery":{"operation":"studio.posts.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation is running for this video; cancel it before deleting the video.","recovery":{"operation":"studio.generations.list","requiredFields":["videoId"]}},{"code":"STUDIO_VIDEO_HAS_SCHEDULED_POSTS","when":"Scheduled posts use this video; cancel them before deleting the video.","recovery":{"operation":"studio.posts.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation is running for this video; cancel it before deleting the video.","recovery":{"operation":"studio.generations.list","requiredFields":["videoId"]}},{"code":"STUDIO_VIDEO_HAS_SCHEDULED_POSTS","when":"Scheduled posts use this video; cancel them before deleting the video.","recovery":{"operation":"studio.posts.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation is running for this video; cancel it before deleting the video.","recovery":{"operation":"studio.generations.list","requiredFields":["videoId"]}},{"code":"STUDIO_VIDEO_HAS_SCHEDULED_POSTS","when":"Scheduled posts use this video; cancel them before deleting the video.","recovery":{"operation":"studio.posts.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation is running for this video; cancel it before deleting the video.","recovery":{"operation":"studio.generations.list","requiredFields":["videoId"]}},{"code":"STUDIO_VIDEO_HAS_SCHEDULED_POSTS","when":"Scheduled posts use this video; cancel them before deleting the video.","recovery":{"operation":"studio.posts.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation is running for this video; cancel it before deleting the video.","recovery":{"operation":"studio.generations.list","requiredFields":["videoId"]}},{"code":"STUDIO_VIDEO_HAS_SCHEDULED_POSTS","when":"Scheduled posts use this video; cancel them before deleting the video.","recovery":{"operation":"studio.posts.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation is running for this video; cancel it before deleting the video.","recovery":{"operation":"studio.generations.list","requiredFields":["videoId"]}},{"code":"STUDIO_VIDEO_HAS_SCHEDULED_POSTS","when":"Scheduled posts use this video; cancel them before deleting the video.","recovery":{"operation":"studio.posts.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation is running for this video; cancel it before deleting the video.","recovery":{"operation":"studio.generations.list","requiredFields":["videoId"]}},{"code":"STUDIO_VIDEO_HAS_SCHEDULED_POSTS","when":"Scheduled posts use this video; cancel them before deleting the video.","recovery":{"operation":"studio.posts.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation is running for this video; cancel it before deleting the video.","recovery":{"operation":"studio.generations.list","requiredFields":["videoId"]}},{"code":"STUDIO_VIDEO_HAS_SCHEDULED_POSTS","when":"Scheduled posts use this video; cancel them before deleting the video.","recovery":{"operation":"studio.posts.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.dialogue.update":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.dialogue.update","x-moreflow-stability":"beta","x-moreflow-operation-id":"studio.videos.dialogue.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Change the dialog voices","description":"Returns the new editor version (incomplete when a dialog scene must be regenerated). The version's document.dialogue lists every speaker with its voice. Fails with STUDIO_DIALOGUE_NOT_AVAILABLE for a video that is not a dialog (recovery studio.videos.changes.propose audioMode dialog), STUDIO_ELEVENLABS_UNAVAILABLE where ElevenLabs is not configured, STUDIO_DIALOGUE_SPEAKER_NOT_FOUND for an unknown speaker, STUDIO_DIALOGUE_UNCHANGED, STUDIO_GENERATION_ACTIVE and STUDIO_VIDEO_DRAFTING.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateInput"},"examples":{"Give the grandmother another voice":{"summary":"Give the grandmother another voice","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","voices":[{"speaker":"the grandmother","voice":"matilda"}]}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_DIALOGUE_NOT_AVAILABLE","when":"The version is not a dialog, so it has no speaker voices.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_ELEVENLABS_UNAVAILABLE","when":"ElevenLabs is not configured in this deployment.","recovery":{"operation":"studio.videos.dialogue.update","requiredFields":["videoId","source"]}},{"code":"STUDIO_DIALOGUE_SPEAKER_NOT_FOUND","when":"A voice names a speaker no dialog line has, or voices were sent for a dialog the video model voices alone.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_DIALOGUE_UNCHANGED","when":"The dialog already has this source and these voices.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_DIALOGUE_NOT_AVAILABLE","when":"The version is not a dialog, so it has no speaker voices.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_ELEVENLABS_UNAVAILABLE","when":"ElevenLabs is not configured in this deployment.","recovery":{"operation":"studio.videos.dialogue.update","requiredFields":["videoId","source"]}},{"code":"STUDIO_DIALOGUE_SPEAKER_NOT_FOUND","when":"A voice names a speaker no dialog line has, or voices were sent for a dialog the video model voices alone.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_DIALOGUE_UNCHANGED","when":"The dialog already has this source and these voices.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_DIALOGUE_NOT_AVAILABLE","when":"The version is not a dialog, so it has no speaker voices.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_ELEVENLABS_UNAVAILABLE","when":"ElevenLabs is not configured in this deployment.","recovery":{"operation":"studio.videos.dialogue.update","requiredFields":["videoId","source"]}},{"code":"STUDIO_DIALOGUE_SPEAKER_NOT_FOUND","when":"A voice names a speaker no dialog line has, or voices were sent for a dialog the video model voices alone.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_DIALOGUE_UNCHANGED","when":"The dialog already has this source and these voices.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_DIALOGUE_NOT_AVAILABLE","when":"The version is not a dialog, so it has no speaker voices.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_ELEVENLABS_UNAVAILABLE","when":"ElevenLabs is not configured in this deployment.","recovery":{"operation":"studio.videos.dialogue.update","requiredFields":["videoId","source"]}},{"code":"STUDIO_DIALOGUE_SPEAKER_NOT_FOUND","when":"A voice names a speaker no dialog line has, or voices were sent for a dialog the video model voices alone.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_DIALOGUE_UNCHANGED","when":"The dialog already has this source and these voices.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_DIALOGUE_NOT_AVAILABLE","when":"The version is not a dialog, so it has no speaker voices.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_ELEVENLABS_UNAVAILABLE","when":"ElevenLabs is not configured in this deployment.","recovery":{"operation":"studio.videos.dialogue.update","requiredFields":["videoId","source"]}},{"code":"STUDIO_DIALOGUE_SPEAKER_NOT_FOUND","when":"A voice names a speaker no dialog line has, or voices were sent for a dialog the video model voices alone.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_DIALOGUE_UNCHANGED","when":"The dialog already has this source and these voices.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_DIALOGUE_NOT_AVAILABLE","when":"The version is not a dialog, so it has no speaker voices.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_ELEVENLABS_UNAVAILABLE","when":"ElevenLabs is not configured in this deployment.","recovery":{"operation":"studio.videos.dialogue.update","requiredFields":["videoId","source"]}},{"code":"STUDIO_DIALOGUE_SPEAKER_NOT_FOUND","when":"A voice names a speaker no dialog line has, or voices were sent for a dialog the video model voices alone.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_DIALOGUE_UNCHANGED","when":"The dialog already has this source and these voices.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_DIALOGUE_NOT_AVAILABLE","when":"The version is not a dialog, so it has no speaker voices.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_ELEVENLABS_UNAVAILABLE","when":"ElevenLabs is not configured in this deployment.","recovery":{"operation":"studio.videos.dialogue.update","requiredFields":["videoId","source"]}},{"code":"STUDIO_DIALOGUE_SPEAKER_NOT_FOUND","when":"A voice names a speaker no dialog line has, or voices were sent for a dialog the video model voices alone.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_DIALOGUE_UNCHANGED","when":"The dialog already has this source and these voices.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_DIALOGUE_NOT_AVAILABLE","when":"The version is not a dialog, so it has no speaker voices.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_ELEVENLABS_UNAVAILABLE","when":"ElevenLabs is not configured in this deployment.","recovery":{"operation":"studio.videos.dialogue.update","requiredFields":["videoId","source"]}},{"code":"STUDIO_DIALOGUE_SPEAKER_NOT_FOUND","when":"A voice names a speaker no dialog line has, or voices were sent for a dialog the video model voices alone.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_DIALOGUE_UNCHANGED","when":"The dialog already has this source and these voices.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_DIALOGUE_NOT_AVAILABLE","when":"The version is not a dialog, so it has no speaker voices.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_ELEVENLABS_UNAVAILABLE","when":"ElevenLabs is not configured in this deployment.","recovery":{"operation":"studio.videos.dialogue.update","requiredFields":["videoId","source"]}},{"code":"STUDIO_DIALOGUE_SPEAKER_NOT_FOUND","when":"A voice names a speaker no dialog line has, or voices were sent for a dialog the video model voices alone.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_DIALOGUE_UNCHANGED","when":"The dialog already has this source and these voices.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.dialogue.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_DIALOGUE_NOT_AVAILABLE","when":"The version is not a dialog, so it has no speaker voices.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_ELEVENLABS_UNAVAILABLE","when":"ElevenLabs is not configured in this deployment.","recovery":{"operation":"studio.videos.dialogue.update","requiredFields":["videoId","source"]}},{"code":"STUDIO_DIALOGUE_SPEAKER_NOT_FOUND","when":"A voice names a speaker no dialog line has, or voices were sent for a dialog the video model voices alone.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_DIALOGUE_UNCHANGED","when":"The dialog already has this source and these voices.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDialogueUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.duplicate":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.duplicate","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.duplicate","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Duplicate a video","description":"Returns the new video in draft review (status draft, no current version). Its scenes are the source's current scenes with recomputed fingerprints; the copy keeps the source's prompt, reference images and confirmed brief; takes and editor timelines are not copied, so quote and start the copy with studio.generations.estimate and studio.generations.start. Use it when studio.videos.update fails with STUDIO_SHAPE_LOCKED for a new aspect ratio. Fails with STUDIO_NOTHING_TO_DUPLICATE when the source has no drafted scenes (recovery studio.videos.update with its shape), STUDIO_VIDEO_DRAFTING while the source drafts (recovery studio.videos.get), STUDIO_PROJECT_ARCHIVED (recovery studio.projects.unarchive) and STUDIO_CHARACTER_NOT_FOUND or STUDIO_ASSET_NOT_FOUND when a scene references something deleted since.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateInput"},"examples":{"Copy a video into 16:9":{"summary":"Copy a video into 16:9","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","aspectRatio":"16:9"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_NOTHING_TO_DUPLICATE","when":"The source video has no drafted scenes yet (its first draft failed).","recovery":{"operation":"studio.videos.update","requiredFields":["videoId","shape"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the source video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The source video's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_NOTHING_TO_DUPLICATE","when":"The source video has no drafted scenes yet (its first draft failed).","recovery":{"operation":"studio.videos.update","requiredFields":["videoId","shape"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the source video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The source video's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_NOTHING_TO_DUPLICATE","when":"The source video has no drafted scenes yet (its first draft failed).","recovery":{"operation":"studio.videos.update","requiredFields":["videoId","shape"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the source video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The source video's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_NOTHING_TO_DUPLICATE","when":"The source video has no drafted scenes yet (its first draft failed).","recovery":{"operation":"studio.videos.update","requiredFields":["videoId","shape"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the source video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The source video's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_NOTHING_TO_DUPLICATE","when":"The source video has no drafted scenes yet (its first draft failed).","recovery":{"operation":"studio.videos.update","requiredFields":["videoId","shape"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the source video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The source video's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_NOTHING_TO_DUPLICATE","when":"The source video has no drafted scenes yet (its first draft failed).","recovery":{"operation":"studio.videos.update","requiredFields":["videoId","shape"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the source video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The source video's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_NOTHING_TO_DUPLICATE","when":"The source video has no drafted scenes yet (its first draft failed).","recovery":{"operation":"studio.videos.update","requiredFields":["videoId","shape"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the source video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The source video's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_NOTHING_TO_DUPLICATE","when":"The source video has no drafted scenes yet (its first draft failed).","recovery":{"operation":"studio.videos.update","requiredFields":["videoId","shape"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the source video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The source video's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_NOTHING_TO_DUPLICATE","when":"The source video has no drafted scenes yet (its first draft failed).","recovery":{"operation":"studio.videos.update","requiredFields":["videoId","shape"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the source video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The source video's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.duplicate"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_NOTHING_TO_DUPLICATE","when":"The source video has no drafted scenes yet (its first draft failed).","recovery":{"operation":"studio.videos.update","requiredFields":["videoId","shape"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the source video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_PROJECT_ARCHIVED","when":"The source video's project is archived.","recovery":{"operation":"studio.projects.unarchive","requiredFields":["projectId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosDuplicateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read a Studio video","description":"Clients poll this while the status is drafting or generating. lengthBounds gives the lengths studio.videos.update durationSeconds accepts: 4–180 s before the first generation (the shape follows the length), the locked shape's bounds after it (a clip 4–15 s, a story 8–180 s); capabilities.canChangeLength says whether a length can be set now. Fails with STUDIO_VIDEO_NOT_FOUND (recovery studio.videos.list).","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosGetInput"},"examples":{"Read a video":{"summary":"Read a video","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.keyframes.approve":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.keyframes.approve","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.keyframes.approve","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Approve a scene keyframe","description":"Charges nothing. Fails with STUDIO_KEYFRAME_NOT_FOUND (recovery studio.videos.keyframes.create) when the scene has no keyframe and STUDIO_KEYFRAME_STALE (recovery studio.videos.keyframes.create) when the scene changed after the keyframe was made.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveInput"},"examples":{"Approve a scene keyframe":{"summary":"Approve a scene keyframe","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","versionId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f","sceneId":"scene-1"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.approve"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesApproveError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.keyframes.create":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.keyframes.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.keyframes.create","x-moreflow-agent":{"effect":"financial_commitment","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"Make scene keyframes","description":"Returns each scene's keyframe in document order (state current, approved, upstreamSceneId, chargedCents). Quote it first: each scene's keyframes[].estimatedCents on studio.videos.versions.get (or keyframes.totalCents of studio.generations.estimate), and pass the total as expectedTotalCents. Approve one with studio.videos.keyframes.approve; an approved, current keyframe becomes the first frame of the next take when the video model accepts one with the scene's inputs (versions.get firstFrame says whether). Fails with STUDIO_ESTIMATE_CHANGED (recovery studio.videos.versions.get, which carries each scene's estimatedCents) when the cost rose, STUDIO_KEYFRAME_UPSTREAM_STALE when a chained scene's previous still is not current and not made in the same call (recovery create with the chain from that scene), STUDIO_KEYFRAME_REGENERATE_NOT_REQUESTED when regenerateSceneIds names a scene outside sceneIds, STUDIO_KEYFRAME_UNAVAILABLE without the still image model or storage, STUDIO_KEYFRAME_NOT_APPLICABLE for an image or asset scene, STUDIO_SCENE_NOT_FOUND, STUDIO_KEYFRAME_FAILED (retryable; completedSceneIds names the stills already kept), and AI_QUOTA_EXCEEDED when the credits do not cover the still.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateInput"},"examples":{"Storyboard the whole video":{"summary":"Storyboard the whole video","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","versionId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f","expectedTotalCents":12}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.keyframes.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosKeyframesCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List Studio videos","description":"Returns { items, nextCursor } ordered by last update. Filter by projectId, by status (one of drafting, draft, generating, ready, failed, or an array of them; the UI \"in progress\" filter is [\"drafting\", \"generating\"]) and by query (case-insensitive title substring over all videos). sort is updated (default), created or title; the cursor is bound to its sort. Each video carries capabilities { canManage, canSwitchShape }, posterAssetId (latest export asset or null), durationSeconds (current version running time or null) and failureCode (why a failed video failed, or null).","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosListInput"},"examples":{"Videos of a project":{"summary":"Videos of a project","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","limit":20}},"Videos matching a title, A to Z":{"summary":"Videos matching a title, A to Z","value":{"projectId":"6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f","query":"bread","sort":"title","limit":100}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.narration.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.narration.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.narration.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read the voice-over","description":"Without versionId, reads the newest drafted version, else the current one. track is the version's own track, else the newest track of its generations, so a running or failed synthesis shows its status and failureCode. fit is set only for a succeeded track of the version's narration inputs: { kind: fits, tempo } or { kind: does_not_fit, scenes, recovery } naming the clips to retake. An uploaded video too short for its slice fails with STUDIO_NARRATION_ASSET_DOES_NOT_FIT instead, since a retake cannot fix it. voices and stylePresets list the closed server vocabularies studio.videos.narration.update accepts; previews names one sample clip per voice and style in the video language (a path on the web origin). script is the whole voice-over script with adaptation (how the draft changed the user's words: shortened to fit budgetSeconds leaving out droppedPoints, or reworded to sound spoken; null when it did not, or the script was edited since) and original (the user's own wording and the seconds it needs, when the script says something else); capabilities.canEditScript says whether studio.videos.narration.script.update can set it now.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetInput"},"examples":{"Read the voice-over of the newest version":{"summary":"Read the voice-over of the newest version","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a"}},"Read one version":{"summary":"Read one version","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","versionId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The version does not exist on this video.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The version does not exist on this video.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The version does not exist on this video.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The version does not exist on this video.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The version does not exist on this video.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The version does not exist on this video.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The version does not exist on this video.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The version does not exist on this video.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The version does not exist on this video.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.narration.script.update":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.narration.script.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.narration.script.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Set the voice-over script","description":"Returns the new version (origin change) in status drafting; poll studio.videos.versions.get until it is draft. The redraft keeps the script word for word with no script-writer call, re-plans the scenes and lets the length follow the script (a clip whose script runs past one clip becomes a story); the voice, style and title stay. The new version records no script adaptation, so studio.videos.narration.get no longer reports the script as shortened or reworded. After the first generation the shape is locked: the version is a change within it that waits for its quoted start (studio.generations.estimate, studio.generations.start), and it fails with STUDIO_NARRATION_SCRIPT_LOCKED while a generation runs (context.reason generation_active, recovery studio.generations.get) or for a script the shape cannot hold (context.reason length_outside_shape with seconds and maxSeconds, recovery studio.videos.duplicate). Fails with STUDIO_VIDEO_DRAFTING (recovery studio.videos.get), STUDIO_NARRATION_NOT_AVAILABLE for a video without a voice-over (recovery studio.videos.changes.propose audioMode voice_over), STUDIO_NARRATION_SCRIPT_UNCHANGED when the voice-over already says the script, STUDIO_NARRATION_SCRIPT_TOO_LONG when it needs more than 180 seconds (context neededSeconds), STUDIO_VERSION_CONFLICT and STUDIO_GENERATION_UNAVAILABLE.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateInput"},"examples":{"Use the original wording":{"summary":"Use the original wording","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","script":"Wie lange dauert eine MPU-Vorbereitung? Das Internet sagt: drei Monate. Zwei Jahre. Danke für nichts. Melde dich jetzt zum kostenlosen Infoabend an."}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_LOCKED","when":"After the first generation: a generation is running (context.reason generation_active; recovery studio.generations.get), or the script needs more seconds than the locked shape holds, a clip 15 (context.reason length_outside_shape with seconds and maxSeconds; recovery studio.videos.duplicate).","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The video has no drafted version whose script could be set.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The drafted version has no video-level voice-over, so it has no script to set.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_SCRIPT_UNCHANGED","when":"The voice-over already says exactly this script.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_TOO_LONG","when":"The script needs more seconds to speak than a video may last (180). Context gives neededSeconds.","recovery":{"operation":"studio.videos.narration.script.update","requiredFields":["videoId","script"]}},{"code":"STUDIO_VERSION_CONFLICT","when":"A newer version was appended while the script was set.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_UNAVAILABLE","when":"The Studio worker that drafts videos cannot be reached.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_LOCKED","when":"After the first generation: a generation is running (context.reason generation_active; recovery studio.generations.get), or the script needs more seconds than the locked shape holds, a clip 15 (context.reason length_outside_shape with seconds and maxSeconds; recovery studio.videos.duplicate).","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The video has no drafted version whose script could be set.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The drafted version has no video-level voice-over, so it has no script to set.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_SCRIPT_UNCHANGED","when":"The voice-over already says exactly this script.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_TOO_LONG","when":"The script needs more seconds to speak than a video may last (180). Context gives neededSeconds.","recovery":{"operation":"studio.videos.narration.script.update","requiredFields":["videoId","script"]}},{"code":"STUDIO_VERSION_CONFLICT","when":"A newer version was appended while the script was set.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_UNAVAILABLE","when":"The Studio worker that drafts videos cannot be reached.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_LOCKED","when":"After the first generation: a generation is running (context.reason generation_active; recovery studio.generations.get), or the script needs more seconds than the locked shape holds, a clip 15 (context.reason length_outside_shape with seconds and maxSeconds; recovery studio.videos.duplicate).","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The video has no drafted version whose script could be set.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The drafted version has no video-level voice-over, so it has no script to set.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_SCRIPT_UNCHANGED","when":"The voice-over already says exactly this script.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_TOO_LONG","when":"The script needs more seconds to speak than a video may last (180). Context gives neededSeconds.","recovery":{"operation":"studio.videos.narration.script.update","requiredFields":["videoId","script"]}},{"code":"STUDIO_VERSION_CONFLICT","when":"A newer version was appended while the script was set.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_UNAVAILABLE","when":"The Studio worker that drafts videos cannot be reached.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_LOCKED","when":"After the first generation: a generation is running (context.reason generation_active; recovery studio.generations.get), or the script needs more seconds than the locked shape holds, a clip 15 (context.reason length_outside_shape with seconds and maxSeconds; recovery studio.videos.duplicate).","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The video has no drafted version whose script could be set.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The drafted version has no video-level voice-over, so it has no script to set.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_SCRIPT_UNCHANGED","when":"The voice-over already says exactly this script.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_TOO_LONG","when":"The script needs more seconds to speak than a video may last (180). Context gives neededSeconds.","recovery":{"operation":"studio.videos.narration.script.update","requiredFields":["videoId","script"]}},{"code":"STUDIO_VERSION_CONFLICT","when":"A newer version was appended while the script was set.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_UNAVAILABLE","when":"The Studio worker that drafts videos cannot be reached.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_LOCKED","when":"After the first generation: a generation is running (context.reason generation_active; recovery studio.generations.get), or the script needs more seconds than the locked shape holds, a clip 15 (context.reason length_outside_shape with seconds and maxSeconds; recovery studio.videos.duplicate).","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The video has no drafted version whose script could be set.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The drafted version has no video-level voice-over, so it has no script to set.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_SCRIPT_UNCHANGED","when":"The voice-over already says exactly this script.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_TOO_LONG","when":"The script needs more seconds to speak than a video may last (180). Context gives neededSeconds.","recovery":{"operation":"studio.videos.narration.script.update","requiredFields":["videoId","script"]}},{"code":"STUDIO_VERSION_CONFLICT","when":"A newer version was appended while the script was set.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_UNAVAILABLE","when":"The Studio worker that drafts videos cannot be reached.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_LOCKED","when":"After the first generation: a generation is running (context.reason generation_active; recovery studio.generations.get), or the script needs more seconds than the locked shape holds, a clip 15 (context.reason length_outside_shape with seconds and maxSeconds; recovery studio.videos.duplicate).","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The video has no drafted version whose script could be set.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The drafted version has no video-level voice-over, so it has no script to set.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_SCRIPT_UNCHANGED","when":"The voice-over already says exactly this script.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_TOO_LONG","when":"The script needs more seconds to speak than a video may last (180). Context gives neededSeconds.","recovery":{"operation":"studio.videos.narration.script.update","requiredFields":["videoId","script"]}},{"code":"STUDIO_VERSION_CONFLICT","when":"A newer version was appended while the script was set.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_UNAVAILABLE","when":"The Studio worker that drafts videos cannot be reached.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_LOCKED","when":"After the first generation: a generation is running (context.reason generation_active; recovery studio.generations.get), or the script needs more seconds than the locked shape holds, a clip 15 (context.reason length_outside_shape with seconds and maxSeconds; recovery studio.videos.duplicate).","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The video has no drafted version whose script could be set.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The drafted version has no video-level voice-over, so it has no script to set.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_SCRIPT_UNCHANGED","when":"The voice-over already says exactly this script.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_TOO_LONG","when":"The script needs more seconds to speak than a video may last (180). Context gives neededSeconds.","recovery":{"operation":"studio.videos.narration.script.update","requiredFields":["videoId","script"]}},{"code":"STUDIO_VERSION_CONFLICT","when":"A newer version was appended while the script was set.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_UNAVAILABLE","when":"The Studio worker that drafts videos cannot be reached.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_LOCKED","when":"After the first generation: a generation is running (context.reason generation_active; recovery studio.generations.get), or the script needs more seconds than the locked shape holds, a clip 15 (context.reason length_outside_shape with seconds and maxSeconds; recovery studio.videos.duplicate).","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The video has no drafted version whose script could be set.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The drafted version has no video-level voice-over, so it has no script to set.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_SCRIPT_UNCHANGED","when":"The voice-over already says exactly this script.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_TOO_LONG","when":"The script needs more seconds to speak than a video may last (180). Context gives neededSeconds.","recovery":{"operation":"studio.videos.narration.script.update","requiredFields":["videoId","script"]}},{"code":"STUDIO_VERSION_CONFLICT","when":"A newer version was appended while the script was set.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_UNAVAILABLE","when":"The Studio worker that drafts videos cannot be reached.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_LOCKED","when":"After the first generation: a generation is running (context.reason generation_active; recovery studio.generations.get), or the script needs more seconds than the locked shape holds, a clip 15 (context.reason length_outside_shape with seconds and maxSeconds; recovery studio.videos.duplicate).","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The video has no drafted version whose script could be set.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The drafted version has no video-level voice-over, so it has no script to set.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_SCRIPT_UNCHANGED","when":"The voice-over already says exactly this script.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_TOO_LONG","when":"The script needs more seconds to speak than a video may last (180). Context gives neededSeconds.","recovery":{"operation":"studio.videos.narration.script.update","requiredFields":["videoId","script"]}},{"code":"STUDIO_VERSION_CONFLICT","when":"A newer version was appended while the script was set.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_UNAVAILABLE","when":"The Studio worker that drafts videos cannot be reached.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.script.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_LOCKED","when":"After the first generation: a generation is running (context.reason generation_active; recovery studio.generations.get), or the script needs more seconds than the locked shape holds, a clip 15 (context.reason length_outside_shape with seconds and maxSeconds; recovery studio.videos.duplicate).","recovery":{"operation":"studio.videos.duplicate","requiredFields":["videoId"]}},{"code":"STUDIO_VERSION_NOT_FOUND","when":"The video has no drafted version whose script could be set.","recovery":{"operation":"studio.videos.versions.list","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The drafted version has no video-level voice-over, so it has no script to set.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_SCRIPT_UNCHANGED","when":"The voice-over already says exactly this script.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_SCRIPT_TOO_LONG","when":"The script needs more seconds to speak than a video may last (180). Context gives neededSeconds.","recovery":{"operation":"studio.videos.narration.script.update","requiredFields":["videoId","script"]}},{"code":"STUDIO_VERSION_CONFLICT","when":"A newer version was appended while the script was set.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_UNAVAILABLE","when":"The Studio worker that drafts videos cannot be reached.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationScriptUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.narration.update":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.narration.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.narration.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Change the voice-over voice or style","description":"Returns the new version (origin editor, incomplete; quote and start it). Its scenes keep their takes, so the generation only synthesizes the new narration track: studio.generations.estimate shows only the narration cost and every scene reused. A switch back to a voice and style already synthesized for this script reuses that track at once, and the version is complete when its takes are. Before the first generation of a drafted voice-over this is how to choose the voice and style: the version is appended on the drafted version, charges nothing, and studio.generations.estimate then quotes it, so the first track uses the chosen voice. The version is incomplete, so the video stays draft and its first-draft review is unchanged. Fails with STUDIO_NARRATION_NOT_AVAILABLE for a video without a voice-over (recovery studio.videos.changes.propose audioMode voice_over), STUDIO_NARRATION_VOICE_UNAVAILABLE for an ElevenLabs voice where ElevenLabs is not configured (recovery studio.videos.narration.get), STUDIO_NARRATION_UNCHANGED when the voice and style are the same (recovery studio.videos.narration.get), STUDIO_GENERATION_ACTIVE while a generation runs (recovery studio.generations.get), STUDIO_VIDEO_DRAFTING while a version drafts (recovery studio.videos.get) and STUDIO_NARRATION_DOES_NOT_FIT when a reused track does not fit its generated clips (recovery studio.videos.scenes.retry for the first named scene), and STUDIO_NARRATION_ASSET_DOES_NOT_FIT when an uploaded video is too short for its slice (recovery studio.videos.versions.create: replace the video or shorten the narration).","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateInput"},"examples":{"Calm delivery in the same voice":{"summary":"Calm delivery in the same voice","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","stylePreset":"calm"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The version has no video-level voice-over, so it has no voice or style to change.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_VOICE_UNAVAILABLE","when":"The voice is spoken by ElevenLabs, which this deployment has not configured.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_UNCHANGED","when":"The requested voice and style are the ones the voice-over already has.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and its speech does not fit the generated clips within the speed limit. Context names the scenes and what each retake costs.","recovery":{"operation":"studio.videos.scenes.retry","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_NARRATION_ASSET_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and an uploaded video of a voice-over scene is shorter than its slice even at the speed limit. A retake cannot change an upload. Context names the asset scenes (assetSceneIds).","recovery":{"operation":"studio.videos.versions.create","requiredFields":["videoId","baseVersionId","document"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The version has no video-level voice-over, so it has no voice or style to change.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_VOICE_UNAVAILABLE","when":"The voice is spoken by ElevenLabs, which this deployment has not configured.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_UNCHANGED","when":"The requested voice and style are the ones the voice-over already has.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and its speech does not fit the generated clips within the speed limit. Context names the scenes and what each retake costs.","recovery":{"operation":"studio.videos.scenes.retry","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_NARRATION_ASSET_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and an uploaded video of a voice-over scene is shorter than its slice even at the speed limit. A retake cannot change an upload. Context names the asset scenes (assetSceneIds).","recovery":{"operation":"studio.videos.versions.create","requiredFields":["videoId","baseVersionId","document"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The version has no video-level voice-over, so it has no voice or style to change.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_VOICE_UNAVAILABLE","when":"The voice is spoken by ElevenLabs, which this deployment has not configured.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_UNCHANGED","when":"The requested voice and style are the ones the voice-over already has.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and its speech does not fit the generated clips within the speed limit. Context names the scenes and what each retake costs.","recovery":{"operation":"studio.videos.scenes.retry","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_NARRATION_ASSET_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and an uploaded video of a voice-over scene is shorter than its slice even at the speed limit. A retake cannot change an upload. Context names the asset scenes (assetSceneIds).","recovery":{"operation":"studio.videos.versions.create","requiredFields":["videoId","baseVersionId","document"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The version has no video-level voice-over, so it has no voice or style to change.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_VOICE_UNAVAILABLE","when":"The voice is spoken by ElevenLabs, which this deployment has not configured.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_UNCHANGED","when":"The requested voice and style are the ones the voice-over already has.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and its speech does not fit the generated clips within the speed limit. Context names the scenes and what each retake costs.","recovery":{"operation":"studio.videos.scenes.retry","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_NARRATION_ASSET_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and an uploaded video of a voice-over scene is shorter than its slice even at the speed limit. A retake cannot change an upload. Context names the asset scenes (assetSceneIds).","recovery":{"operation":"studio.videos.versions.create","requiredFields":["videoId","baseVersionId","document"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The version has no video-level voice-over, so it has no voice or style to change.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_VOICE_UNAVAILABLE","when":"The voice is spoken by ElevenLabs, which this deployment has not configured.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_UNCHANGED","when":"The requested voice and style are the ones the voice-over already has.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and its speech does not fit the generated clips within the speed limit. Context names the scenes and what each retake costs.","recovery":{"operation":"studio.videos.scenes.retry","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_NARRATION_ASSET_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and an uploaded video of a voice-over scene is shorter than its slice even at the speed limit. A retake cannot change an upload. Context names the asset scenes (assetSceneIds).","recovery":{"operation":"studio.videos.versions.create","requiredFields":["videoId","baseVersionId","document"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The version has no video-level voice-over, so it has no voice or style to change.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_VOICE_UNAVAILABLE","when":"The voice is spoken by ElevenLabs, which this deployment has not configured.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_UNCHANGED","when":"The requested voice and style are the ones the voice-over already has.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and its speech does not fit the generated clips within the speed limit. Context names the scenes and what each retake costs.","recovery":{"operation":"studio.videos.scenes.retry","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_NARRATION_ASSET_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and an uploaded video of a voice-over scene is shorter than its slice even at the speed limit. A retake cannot change an upload. Context names the asset scenes (assetSceneIds).","recovery":{"operation":"studio.videos.versions.create","requiredFields":["videoId","baseVersionId","document"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The version has no video-level voice-over, so it has no voice or style to change.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_VOICE_UNAVAILABLE","when":"The voice is spoken by ElevenLabs, which this deployment has not configured.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_UNCHANGED","when":"The requested voice and style are the ones the voice-over already has.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and its speech does not fit the generated clips within the speed limit. Context names the scenes and what each retake costs.","recovery":{"operation":"studio.videos.scenes.retry","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_NARRATION_ASSET_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and an uploaded video of a voice-over scene is shorter than its slice even at the speed limit. A retake cannot change an upload. Context names the asset scenes (assetSceneIds).","recovery":{"operation":"studio.videos.versions.create","requiredFields":["videoId","baseVersionId","document"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The version has no video-level voice-over, so it has no voice or style to change.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_VOICE_UNAVAILABLE","when":"The voice is spoken by ElevenLabs, which this deployment has not configured.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_UNCHANGED","when":"The requested voice and style are the ones the voice-over already has.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and its speech does not fit the generated clips within the speed limit. Context names the scenes and what each retake costs.","recovery":{"operation":"studio.videos.scenes.retry","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_NARRATION_ASSET_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and an uploaded video of a voice-over scene is shorter than its slice even at the speed limit. A retake cannot change an upload. Context names the asset scenes (assetSceneIds).","recovery":{"operation":"studio.videos.versions.create","requiredFields":["videoId","baseVersionId","document"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The version has no video-level voice-over, so it has no voice or style to change.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_VOICE_UNAVAILABLE","when":"The voice is spoken by ElevenLabs, which this deployment has not configured.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_UNCHANGED","when":"The requested voice and style are the ones the voice-over already has.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and its speech does not fit the generated clips within the speed limit. Context names the scenes and what each retake costs.","recovery":{"operation":"studio.videos.scenes.retry","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_NARRATION_ASSET_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and an uploaded video of a voice-over scene is shorter than its slice even at the speed limit. A retake cannot change an upload. Context names the asset scenes (assetSceneIds).","recovery":{"operation":"studio.videos.versions.create","requiredFields":["videoId","baseVersionId","document"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.narration.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_NOT_FOUND","when":"The video does not exist on this account.","recovery":{"operation":"studio.videos.list"}},{"code":"STUDIO_NARRATION_NOT_AVAILABLE","when":"The version has no video-level voice-over, so it has no voice or style to change.","recovery":{"operation":"studio.videos.changes.propose","requiredFields":["videoId","audioMode"]}},{"code":"STUDIO_NARRATION_VOICE_UNAVAILABLE","when":"The voice is spoken by ElevenLabs, which this deployment has not configured.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_UNCHANGED","when":"The requested voice and style are the ones the voice-over already has.","recovery":{"operation":"studio.videos.narration.get","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}},{"code":"STUDIO_NARRATION_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and its speech does not fit the generated clips within the speed limit. Context names the scenes and what each retake costs.","recovery":{"operation":"studio.videos.scenes.retry","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_NARRATION_ASSET_DOES_NOT_FIT","when":"A succeeded track of the new voice and style exists (a switch back) and an uploaded video of a voice-over scene is shorter than its slice even at the speed limit. A retake cannot change an upload. Context names the asset scenes (assetSceneIds).","recovery":{"operation":"studio.videos.versions.create","requiredFields":["videoId","baseVersionId","document"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosNarrationUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.scenes.narration.retry":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.scenes.narration.retry","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.scenes.narration.retry","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Add a missing scene voice-over","description":"Returns an editor version (incomplete) in which the scene waits for a narration-only take: quote it with studio.generations.estimate (the scene is narrationOnly and costs only the speech) and start it with studio.generations.start. No video provider runs; the stored clip is copied to the new take. It builds on the newest drafted version, so a pending change or quality switch keeps its settings. Fails with STUDIO_SCENE_NOT_FOUND for a scene that version lacks (recovery studio.videos.versions.get), STUDIO_SCENE_NARRATION_NOT_MISSING when the scene's take is not flagged SCENE_NARRATION_FAILED (recovery studio.videos.takes.list), STUDIO_GENERATION_ACTIVE while a generation runs (recovery studio.generations.get) and STUDIO_VIDEO_DRAFTING while a version drafts (recovery studio.videos.get).","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryInput"},"examples":{"Add the missing voice-over of the second scene":{"summary":"Add the missing voice-over of the second scene","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","sceneId":"s2"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NARRATION_NOT_MISSING","when":"The take the scene plays is not a succeeded take flagged SCENE_NARRATION_FAILED, or the scene is not narrated on its own take.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NARRATION_NOT_MISSING","when":"The take the scene plays is not a succeeded take flagged SCENE_NARRATION_FAILED, or the scene is not narrated on its own take.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NARRATION_NOT_MISSING","when":"The take the scene plays is not a succeeded take flagged SCENE_NARRATION_FAILED, or the scene is not narrated on its own take.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NARRATION_NOT_MISSING","when":"The take the scene plays is not a succeeded take flagged SCENE_NARRATION_FAILED, or the scene is not narrated on its own take.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NARRATION_NOT_MISSING","when":"The take the scene plays is not a succeeded take flagged SCENE_NARRATION_FAILED, or the scene is not narrated on its own take.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NARRATION_NOT_MISSING","when":"The take the scene plays is not a succeeded take flagged SCENE_NARRATION_FAILED, or the scene is not narrated on its own take.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NARRATION_NOT_MISSING","when":"The take the scene plays is not a succeeded take flagged SCENE_NARRATION_FAILED, or the scene is not narrated on its own take.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NARRATION_NOT_MISSING","when":"The take the scene plays is not a succeeded take flagged SCENE_NARRATION_FAILED, or the scene is not narrated on its own take.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NARRATION_NOT_MISSING","when":"The take the scene plays is not a succeeded take flagged SCENE_NARRATION_FAILED, or the scene is not narrated on its own take.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.narration.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NARRATION_NOT_MISSING","when":"The take the scene plays is not a succeeded take flagged SCENE_NARRATION_FAILED, or the scene is not narrated on its own take.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId","sceneId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesNarrationRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.scenes.retry":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.scenes.retry","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.scenes.retry","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Retry a scene","description":"Returns the retake version (origin editor, editKind retake, incomplete): quote it with studio.generations.estimate and start it with studio.generations.start, which generates only that scene. The scene keeps its prompt and its earlier takes stay restorable for free with studio.videos.takes.restore. It builds on the newest drafted version, so a pending quality switch or change keeps its settings. Fails with STUDIO_SCENE_NOT_FOUND for a scene that version lacks (recovery studio.videos.versions.get), STUDIO_SCENE_NOT_GENERATED before the first generation or for an uploaded-asset scene (recovery studio.generations.estimate), STUDIO_GENERATION_ACTIVE while a generation runs (recovery studio.generations.get) and STUDIO_VIDEO_DRAFTING while a version drafts (recovery studio.videos.get).","x-moreflow-contract-version":"3","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryInput"},"examples":{"Retake the second scene":{"summary":"Retake the second scene","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","sceneId":"s2"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NOT_GENERATED","when":"The video has not been generated yet, or the scene plays an uploaded asset.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NOT_GENERATED","when":"The video has not been generated yet, or the scene plays an uploaded asset.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NOT_GENERATED","when":"The video has not been generated yet, or the scene plays an uploaded asset.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NOT_GENERATED","when":"The video has not been generated yet, or the scene plays an uploaded asset.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NOT_GENERATED","when":"The video has not been generated yet, or the scene plays an uploaded asset.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NOT_GENERATED","when":"The video has not been generated yet, or the scene plays an uploaded asset.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NOT_GENERATED","when":"The video has not been generated yet, or the scene plays an uploaded asset.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NOT_GENERATED","when":"The video has not been generated yet, or the scene plays an uploaded asset.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NOT_GENERATED","when":"The video has not been generated yet, or the scene plays an uploaded asset.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.scenes.retry"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_SCENE_NOT_FOUND","when":"The newest drafted version has no scene with this sceneId.","recovery":{"operation":"studio.videos.versions.get","requiredFields":["videoId","versionId"]}},{"code":"STUDIO_SCENE_NOT_GENERATED","when":"The video has not been generated yet, or the scene plays an uploaded asset.","recovery":{"operation":"studio.generations.estimate","requiredFields":["videoId"]}},{"code":"STUDIO_GENERATION_ACTIVE","when":"A generation of the video is running.","recovery":{"operation":"studio.generations.get","requiredFields":["generationId"]}},{"code":"STUDIO_VIDEO_DRAFTING","when":"A version of the video is still drafting.","recovery":{"operation":"studio.videos.get","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosScenesRetryError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.takes.delete":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.takes.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.takes.delete","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"Delete a take","description":"Frees a slot of the 20 takes per scene. A take the current version plays fails with STUDIO_TAKE_IN_USE (recovery studio.videos.takes.restore with another take of the scene).","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteInput"},"examples":{"Delete a take":{"summary":"Delete a take","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","takeId":"5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.takes.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.takes.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.takes.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List scene takes","description":"Returns { items, nextCursor }, newest first. Every generated take is kept (up to 20 per scene) and a succeeded one can be restored for free with studio.videos.takes.restore.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesListInput"},"examples":{"Takes of the first scene":{"summary":"Takes of the first scene","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","sceneId":"s1"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.takes.outcome.update":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.takes.outcome.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.takes.outcome.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Record a take outcome","description":"Stores one outcome per take (source user), replacing any earlier one, including the outcome the server infers: studio.videos.scenes.retry marks the scene's take retried and studio.videos.takes.restore marks the replaced take restored_away. Outcome rates per prompt version are read with studio.takeOutcomes.rates.get. Fails with STUDIO_TAKE_NOT_FOUND (recovery studio.videos.takes.list) and STUDIO_TAKE_NOT_SUCCEEDED for a take that did not succeed.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateInput"},"examples":{"Reject a take":{"summary":"Reject a take","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","takeId":"5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b","outcome":"rejected","reason":"wrong_motion"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TAKE_NOT_FOUND","when":"The video has no take with this takeId on this account.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}},{"code":"STUDIO_TAKE_NOT_SUCCEEDED","when":"The take is queued, running, failed or cancelled.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TAKE_NOT_FOUND","when":"The video has no take with this takeId on this account.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}},{"code":"STUDIO_TAKE_NOT_SUCCEEDED","when":"The take is queued, running, failed or cancelled.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TAKE_NOT_FOUND","when":"The video has no take with this takeId on this account.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}},{"code":"STUDIO_TAKE_NOT_SUCCEEDED","when":"The take is queued, running, failed or cancelled.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TAKE_NOT_FOUND","when":"The video has no take with this takeId on this account.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}},{"code":"STUDIO_TAKE_NOT_SUCCEEDED","when":"The take is queued, running, failed or cancelled.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TAKE_NOT_FOUND","when":"The video has no take with this takeId on this account.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}},{"code":"STUDIO_TAKE_NOT_SUCCEEDED","when":"The take is queued, running, failed or cancelled.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TAKE_NOT_FOUND","when":"The video has no take with this takeId on this account.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}},{"code":"STUDIO_TAKE_NOT_SUCCEEDED","when":"The take is queued, running, failed or cancelled.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TAKE_NOT_FOUND","when":"The video has no take with this takeId on this account.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}},{"code":"STUDIO_TAKE_NOT_SUCCEEDED","when":"The take is queued, running, failed or cancelled.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TAKE_NOT_FOUND","when":"The video has no take with this takeId on this account.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}},{"code":"STUDIO_TAKE_NOT_SUCCEEDED","when":"The take is queued, running, failed or cancelled.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TAKE_NOT_FOUND","when":"The video has no take with this takeId on this account.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}},{"code":"STUDIO_TAKE_NOT_SUCCEEDED","when":"The take is queued, running, failed or cancelled.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.outcome.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_TAKE_NOT_FOUND","when":"The video has no take with this takeId on this account.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}},{"code":"STUDIO_TAKE_NOT_SUCCEEDED","when":"The take is queued, running, failed or cancelled.","recovery":{"operation":"studio.videos.takes.list","requiredFields":["videoId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesOutcomeUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.takes.restore":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.takes.restore","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.takes.restore","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Restore a take","description":"Creates a take_restore version from the current version. Fails with STUDIO_TAKE_NOT_RESTORABLE for a take that did not succeed (recovery studio.videos.takes.list) and STUDIO_GENERATION_ACTIVE while a generation runs (recovery studio.generations.get).","x-moreflow-contract-version":"3","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreInput"},"examples":{"Restore a take":{"summary":"Restore a take","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","takeId":"5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.takes.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosTakesRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.update":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.update","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Update a Studio video","description":"A new shape or aspect ratio re-drafts into a shape_switch version (status drafting; poll studio.videos.get). After a generation has started it fails with STUDIO_SHAPE_LOCKED (recovery studio.videos.create for a new video; studio.videos.duplicate copies the scenes into a video with another aspect ratio). While a version drafts it fails with STUDIO_VIDEO_DRAFTING (recovery studio.videos.get). A quality change (quality, or videoModel for the custom quality) appends an editor version with editKind quality_switch (standard and pro pick a Seedance tier, custom runs videoModel; videoModel with standard or pro fails with STUDIO_VIDEO_MODEL_CONFLICT): quote and start it with studio.generations.estimate and studio.generations.start; it fails with STUDIO_GENERATION_ACTIVE while a generation runs (recovery studio.generations.get). durationSeconds before the first generation re-drafts into a shape_switch version at that length whose shape follows it (a clip up to 15 s, a story above); with shape it must fit that shape. After the first generation it appends a change version (origin change, status drafting) at that length within the locked shape that waits for its quoted start (studio.generations.estimate, studio.generations.start); outside the shape (studio.videos.get lengthBounds) it fails with STUDIO_SHAPE_LOCKED (context.reason length_outside_shape, minSeconds, maxSeconds; recovery studio.videos.duplicate, whose copy takes any length); a length outside a stated shape before it fails with VALIDATION_ERROR, with STUDIO_GENERATION_ACTIVE while a generation runs, and with VALIDATION_ERROR together with a quality change. A length the base version already has appends nothing.","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateInput"},"examples":{"Switch to a story":{"summary":"Switch to a story","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","shape":"story"}},"Make the video 30 seconds long":{"summary":"Make the video 30 seconds long","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","durationSeconds":30}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.update","args":{"quality":"custom"},"requiredFields":["videoId"]}},{"code":"STUDIO_SHAPE_LOCKED","when":"The video shape is locked once it has a generated take; create a new video for a different shape. A durationSeconds outside the locked shape (a clip 4–15 s, a story 8–180 s) fails with it too, with context.reason length_outside_shape, minSeconds and maxSeconds, and recovery studio.videos.duplicate.","recovery":{"operation":"studio.videos.create","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.update","args":{"quality":"custom"},"requiredFields":["videoId"]}},{"code":"STUDIO_SHAPE_LOCKED","when":"The video shape is locked once it has a generated take; create a new video for a different shape. A durationSeconds outside the locked shape (a clip 4–15 s, a story 8–180 s) fails with it too, with context.reason length_outside_shape, minSeconds and maxSeconds, and recovery studio.videos.duplicate.","recovery":{"operation":"studio.videos.create","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.update","args":{"quality":"custom"},"requiredFields":["videoId"]}},{"code":"STUDIO_SHAPE_LOCKED","when":"The video shape is locked once it has a generated take; create a new video for a different shape. A durationSeconds outside the locked shape (a clip 4–15 s, a story 8–180 s) fails with it too, with context.reason length_outside_shape, minSeconds and maxSeconds, and recovery studio.videos.duplicate.","recovery":{"operation":"studio.videos.create","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.update","args":{"quality":"custom"},"requiredFields":["videoId"]}},{"code":"STUDIO_SHAPE_LOCKED","when":"The video shape is locked once it has a generated take; create a new video for a different shape. A durationSeconds outside the locked shape (a clip 4–15 s, a story 8–180 s) fails with it too, with context.reason length_outside_shape, minSeconds and maxSeconds, and recovery studio.videos.duplicate.","recovery":{"operation":"studio.videos.create","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.update","args":{"quality":"custom"},"requiredFields":["videoId"]}},{"code":"STUDIO_SHAPE_LOCKED","when":"The video shape is locked once it has a generated take; create a new video for a different shape. A durationSeconds outside the locked shape (a clip 4–15 s, a story 8–180 s) fails with it too, with context.reason length_outside_shape, minSeconds and maxSeconds, and recovery studio.videos.duplicate.","recovery":{"operation":"studio.videos.create","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.update","args":{"quality":"custom"},"requiredFields":["videoId"]}},{"code":"STUDIO_SHAPE_LOCKED","when":"The video shape is locked once it has a generated take; create a new video for a different shape. A durationSeconds outside the locked shape (a clip 4–15 s, a story 8–180 s) fails with it too, with context.reason length_outside_shape, minSeconds and maxSeconds, and recovery studio.videos.duplicate.","recovery":{"operation":"studio.videos.create","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.update","args":{"quality":"custom"},"requiredFields":["videoId"]}},{"code":"STUDIO_SHAPE_LOCKED","when":"The video shape is locked once it has a generated take; create a new video for a different shape. A durationSeconds outside the locked shape (a clip 4–15 s, a story 8–180 s) fails with it too, with context.reason length_outside_shape, minSeconds and maxSeconds, and recovery studio.videos.duplicate.","recovery":{"operation":"studio.videos.create","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.update","args":{"quality":"custom"},"requiredFields":["videoId"]}},{"code":"STUDIO_SHAPE_LOCKED","when":"The video shape is locked once it has a generated take; create a new video for a different shape. A durationSeconds outside the locked shape (a clip 4–15 s, a story 8–180 s) fails with it too, with context.reason length_outside_shape, minSeconds and maxSeconds, and recovery studio.videos.duplicate.","recovery":{"operation":"studio.videos.create","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.update","args":{"quality":"custom"},"requiredFields":["videoId"]}},{"code":"STUDIO_SHAPE_LOCKED","when":"The video shape is locked once it has a generated take; create a new video for a different shape. A durationSeconds outside the locked shape (a clip 4–15 s, a story 8–180 s) fails with it too, with context.reason length_outside_shape, minSeconds and maxSeconds, and recovery studio.videos.duplicate.","recovery":{"operation":"studio.videos.create","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}},{"code":"STUDIO_VIDEO_MODEL_CONFLICT","when":"videoModel was sent with the standard or pro quality; only the custom quality runs a named model.","recovery":{"operation":"studio.videos.update","args":{"quality":"custom"},"requiredFields":["videoId"]}},{"code":"STUDIO_SHAPE_LOCKED","when":"The video shape is locked once it has a generated take; create a new video for a different shape. A durationSeconds outside the locked shape (a clip 4–15 s, a story 8–180 s) fails with it too, with context.reason length_outside_shape, minSeconds and maxSeconds, and recovery studio.videos.duplicate.","recovery":{"operation":"studio.videos.create","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.versions.create":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.versions.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.versions.create","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Save a video edit","description":"Fails with STUDIO_VERSION_CONFLICT when baseVersionId is no longer the latest version (recovery studio.videos.get), STUDIO_DOCUMENT_INVALID when shape, language, quality or aspect ratio differ from the video (fieldViolations), STUDIO_ASSET_NOT_FOUND for an unknown scene asset (recovery media.assets.list) and STUDIO_VIDEO_DRAFTING while a version drafts.","x-moreflow-contract-version":"3","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateInput"},"examples":{"Shorten a clip":{"summary":"Shorten a clip","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","baseVersionId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f","document":{"version":1,"shape":"clip","language":"en","quality":"standard","output":{"aspectRatio":"9:16","resolution":"720p","fps":30},"scenes":[{"id":"s1","title":"Morning bake","visualPrompt":"A baker slides sourdough loaves into a stone oven at dawn.","spokenText":"Every loaf starts at 5 am.","durationSeconds":6,"source":"generated_video","characterIds":[],"audio":"native","fingerprint":"recomputed-by-server","takeId":null}],"timeline":null}}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"STUDIO_VIDEO_MODEL_UNAVAILABLE","when":"videoModel (or a project default or document videoModel) is not a Studio video model: an id studio.settings.get does not list in videoModels, or a retired model without a successor.","recovery":{"operation":"studio.settings.get"}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.versions.get":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.versions.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.versions.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Read a video version","description":"The document lists the scenes (prompt or structured shot, display summary, spoken text, duration, characters, take) and the editor timeline. It is null while the version drafts. findings lists known video-model failure patterns per scene (negations, text or screen content, logos, too many actions, fast hand motion, interacting characters, contradicting camera); each carries a stable code and a ready studio.videos.changes.propose recovery. Findings are advisory and never block a generation. Fails with STUDIO_VERSION_NOT_FOUND (recovery studio.videos.versions.list).","x-moreflow-contract-version":"3","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetInput"},"examples":{"Read a version":{"summary":"Read a version","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","versionId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["3"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.versions.list":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.versions.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.versions.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"List video versions","description":"Returns { items, nextCursor }, newest first. Each version has its origin (initial, shape_switch, change, editor, take_restore), status, autoStart outcome and completeness. Read one with studio.videos.versions.get.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListInput"},"examples":{"Version history":{"summary":"Version history","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","limit":20}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/studio.videos.versions.restore":{"post":{"tags":["Operations: studio"],"operationId":"studio.videos.versions.restore","x-moreflow-stability":"stable","x-moreflow-operation-id":"studio.videos.versions.restore","x-moreflow-agent":{"effect":"local_reversible_write","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"Restore a video version","description":"Charges nothing and starts the automatic export. A version with ungenerated scenes fails with STUDIO_VERSION_INCOMPLETE (recovery studio.generations.estimate).","x-moreflow-contract-version":"2","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreInput"},"examples":{"Restore version":{"summary":"Restore version","value":{"videoId":"0d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a","versionId":"3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f"}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"studio.videos.versions.restore"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationStudioVideosVersionsRestoreError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["2"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/users.current.get":{"post":{"tags":["Operations: users"],"operationId":"users.current.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"users.current.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"users.current.get","description":"Returns the authenticated user's own membership record for the given account (or the tenant account when accountId is omitted) together with the capabilities their role grants. Fails with NOT_FOUND when the caller has no membership in this account. Use it to decide which actions the UI or an agent may offer.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersCurrentGetInput"},"examples":{"Who am I in this account":{"summary":"Who am I in this account","value":{}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersCurrentGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersCurrentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersCurrentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersCurrentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersCurrentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersCurrentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersCurrentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersCurrentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersCurrentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.current.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersCurrentGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/users.memberships.batchGet":{"post":{"tags":["Operations: users"],"operationId":"users.memberships.batchGet","x-moreflow-stability":"stable","x-moreflow-operation-id":"users.memberships.batchGet","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"users.memberships.batchGet","description":"Returns the membership records of the given user ids within the account; records follow the request order, including repeated ids. The entire read fails with NOT_FOUND if any requested id is not a member. Requires membership in the account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetInput"},"examples":{"Resolve the assignees of a deal list":{"summary":"Resolve the assignees of a deal list","value":{"userIds":["4f6a8c2e-1d3b-4e7f-9a0c-8b5d6e7f1a29","a9c1e3b5-7d2f-4a6c-8e0b-3f5d7a9c1e64"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.batchGet"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsBatchGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/users.memberships.get":{"post":{"tags":["Operations: users"],"operationId":"users.memberships.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"users.memberships.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"users.memberships.get","description":"Returns the account membership record of one user (name, e-mail, role, status, avatar) with per-user capabilities, plus the role-level capabilities of that member. Fails with NOT_FOUND when the user has no membership in this account. Requires membership in the account.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsGetInput"},"examples":{"Read a colleague's membership":{"summary":"Read a colleague's membership","value":{"userId":"4f6a8c2e-1d3b-4e7f-9a0c-8b5d6e7f1a29"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. A requested user has no membership in the authenticated account.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/users.memberships.list":{"post":{"tags":["Operations: users"],"operationId":"users.memberships.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"users.memberships.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"users.memberships.list","description":"Returns team members for an account. User lastActiveAt is derived from the latest explicit presence heartbeat across team, client, and note locations and is retained for up to 24 hours. User livePresence is derived only from explicit team presence heartbeats and expires after activeWindowMs.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsListInput"},"examples":{"List the first page of account members":{"summary":"List the first page of account members","value":{"limit":25}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The membership cursor is malformed or expired.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The membership cursor is malformed or expired.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The membership cursor is malformed or expired.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The membership cursor is malformed or expired.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The membership cursor is malformed or expired.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The membership cursor is malformed or expired.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The membership cursor is malformed or expired.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The membership cursor is malformed or expired.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"users.memberships.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The membership cursor is malformed or expired.","recovery":{"operation":"users.memberships.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationUsersMembershipsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.deliveries.get":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.deliveries.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.deliveries.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"webhooks.deliveries.get","description":"Get a webhook delivery attempt and its safe diagnostics.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery does not exist in the credential account.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery does not exist in the credential account.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery does not exist in the credential account.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery does not exist in the credential account.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery does not exist in the credential account.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery does not exist in the credential account.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery does not exist in the credential account.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery does not exist in the credential account.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery does not exist in the credential account.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.deliveries.list":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.deliveries.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.deliveries.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"webhooks.deliveries.list","description":"List asynchronous webhook delivery attempts.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.deliveries.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.deliveries.redeliver":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.deliveries.redeliver","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.deliveries.redeliver","x-moreflow-agent":{"effect":"external_communication","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"webhooks.deliveries.redeliver","description":"Queue a new attempt for a prior webhook delivery.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery or its endpoint no longer exists.","recovery":{"operation":"webhooks.deliveries.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled, or the delivery is neither failed nor exhausted.","recovery":{"operation":"webhooks.deliveries.get","requiredFields":["deliveryId"]}},{"code":"CONFLICT","when":"A newer delivery attempt exists or the attempt changed during redelivery admission.","recovery":{"operation":"webhooks.deliveries.list","requiredFields":["eventId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery or its endpoint no longer exists.","recovery":{"operation":"webhooks.deliveries.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled, or the delivery is neither failed nor exhausted.","recovery":{"operation":"webhooks.deliveries.get","requiredFields":["deliveryId"]}},{"code":"CONFLICT","when":"A newer delivery attempt exists or the attempt changed during redelivery admission.","recovery":{"operation":"webhooks.deliveries.list","requiredFields":["eventId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery or its endpoint no longer exists.","recovery":{"operation":"webhooks.deliveries.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled, or the delivery is neither failed nor exhausted.","recovery":{"operation":"webhooks.deliveries.get","requiredFields":["deliveryId"]}},{"code":"CONFLICT","when":"A newer delivery attempt exists or the attempt changed during redelivery admission.","recovery":{"operation":"webhooks.deliveries.list","requiredFields":["eventId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery or its endpoint no longer exists.","recovery":{"operation":"webhooks.deliveries.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled, or the delivery is neither failed nor exhausted.","recovery":{"operation":"webhooks.deliveries.get","requiredFields":["deliveryId"]}},{"code":"CONFLICT","when":"A newer delivery attempt exists or the attempt changed during redelivery admission.","recovery":{"operation":"webhooks.deliveries.list","requiredFields":["eventId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery or its endpoint no longer exists.","recovery":{"operation":"webhooks.deliveries.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled, or the delivery is neither failed nor exhausted.","recovery":{"operation":"webhooks.deliveries.get","requiredFields":["deliveryId"]}},{"code":"CONFLICT","when":"A newer delivery attempt exists or the attempt changed during redelivery admission.","recovery":{"operation":"webhooks.deliveries.list","requiredFields":["eventId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery or its endpoint no longer exists.","recovery":{"operation":"webhooks.deliveries.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled, or the delivery is neither failed nor exhausted.","recovery":{"operation":"webhooks.deliveries.get","requiredFields":["deliveryId"]}},{"code":"CONFLICT","when":"A newer delivery attempt exists or the attempt changed during redelivery admission.","recovery":{"operation":"webhooks.deliveries.list","requiredFields":["eventId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery or its endpoint no longer exists.","recovery":{"operation":"webhooks.deliveries.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled, or the delivery is neither failed nor exhausted.","recovery":{"operation":"webhooks.deliveries.get","requiredFields":["deliveryId"]}},{"code":"CONFLICT","when":"A newer delivery attempt exists or the attempt changed during redelivery admission.","recovery":{"operation":"webhooks.deliveries.list","requiredFields":["eventId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery or its endpoint no longer exists.","recovery":{"operation":"webhooks.deliveries.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled, or the delivery is neither failed nor exhausted.","recovery":{"operation":"webhooks.deliveries.get","requiredFields":["deliveryId"]}},{"code":"CONFLICT","when":"A newer delivery attempt exists or the attempt changed during redelivery admission.","recovery":{"operation":"webhooks.deliveries.list","requiredFields":["eventId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery or its endpoint no longer exists.","recovery":{"operation":"webhooks.deliveries.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled, or the delivery is neither failed nor exhausted.","recovery":{"operation":"webhooks.deliveries.get","requiredFields":["deliveryId"]}},{"code":"CONFLICT","when":"A newer delivery attempt exists or the attempt changed during redelivery admission.","recovery":{"operation":"webhooks.deliveries.list","requiredFields":["eventId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.deliveries.redeliver"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The delivery or its endpoint no longer exists.","recovery":{"operation":"webhooks.deliveries.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled, or the delivery is neither failed nor exhausted.","recovery":{"operation":"webhooks.deliveries.get","requiredFields":["deliveryId"]}},{"code":"CONFLICT","when":"A newer delivery attempt exists or the attempt changed during redelivery admission.","recovery":{"operation":"webhooks.deliveries.list","requiredFields":["eventId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksDeliveriesRedeliverError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.endpoints.create":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.endpoints.create","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.endpoints.create","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"webhooks.endpoints.create","description":"Create an active webhook endpoint and reveal its signing secret once.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.create","requiredFields":["name","url","events"]}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.create","requiredFields":["name","url","events"]}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.create","requiredFields":["name","url","events"]}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.create","requiredFields":["name","url","events"]}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.create","requiredFields":["name","url","events"]}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.create","requiredFields":["name","url","events"]}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.create","requiredFields":["name","url","events"]}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.create","requiredFields":["name","url","events"]}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.create","requiredFields":["name","url","events"]}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.create"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.create","requiredFields":["name","url","events"]}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsCreateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.endpoints.delete":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.endpoints.delete","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.endpoints.delete","x-moreflow-agent":{"effect":"irreversible_write","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"summary":"webhooks.endpoints.delete","description":"Delete a webhook endpoint and its pending deliveries.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFLICT","when":"Delivery audit outcomes are pending reconciliation; retry deletion after reconciliation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFLICT","when":"Delivery audit outcomes are pending reconciliation; retry deletion after reconciliation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFLICT","when":"Delivery audit outcomes are pending reconciliation; retry deletion after reconciliation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFLICT","when":"Delivery audit outcomes are pending reconciliation; retry deletion after reconciliation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFLICT","when":"Delivery audit outcomes are pending reconciliation; retry deletion after reconciliation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFLICT","when":"Delivery audit outcomes are pending reconciliation; retry deletion after reconciliation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFLICT","when":"Delivery audit outcomes are pending reconciliation; retry deletion after reconciliation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFLICT","when":"Delivery audit outcomes are pending reconciliation; retry deletion after reconciliation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFLICT","when":"Delivery audit outcomes are pending reconciliation; retry deletion after reconciliation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.delete"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFLICT","when":"Delivery audit outcomes are pending reconciliation; retry deletion after reconciliation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsDeleteError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.endpoints.enabled.update":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.endpoints.enabled.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.endpoints.enabled.update","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"webhooks.endpoints.enabled.update","description":"Enable or disable a webhook endpoint; only enabling requires Pro.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.enabled.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability. Creating or enabling outbound webhooks requires the Pro plan.","recovery":{"operation":"billing.entitlements.get","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsEnabledUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.endpoints.get":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.endpoints.get","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.endpoints.get","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"webhooks.endpoints.get","description":"Get one webhook endpoint without exposing its secret.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.get"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsGetError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.endpoints.list":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.endpoints.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.endpoints.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"webhooks.endpoints.list","description":"List webhook endpoints and server-computed capabilities.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.endpoints.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.endpoints.rotateSecret":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.endpoints.rotateSecret","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.endpoints.rotateSecret","x-moreflow-agent":{"effect":"provider_administration","confirmation":"always","reversibility":"irreversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"webhooks.endpoints.rotateSecret","description":"Rotate an endpoint signing secret and reveal the replacement once.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"CONFLICT","when":"The endpoint changed during signing-secret rotation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"CONFLICT","when":"The endpoint changed during signing-secret rotation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"CONFLICT","when":"The endpoint changed during signing-secret rotation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"CONFLICT","when":"The endpoint changed during signing-secret rotation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"CONFLICT","when":"The endpoint changed during signing-secret rotation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"CONFLICT","when":"The endpoint changed during signing-secret rotation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"CONFLICT","when":"The endpoint changed during signing-secret rotation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"CONFLICT","when":"The endpoint changed during signing-secret rotation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"CONFLICT","when":"The endpoint changed during signing-secret rotation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.rotateSecret"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"CONFIGURATION_ERROR","when":"Signing-secret encryption is unavailable; an operator must configure it."},{"code":"CONFLICT","when":"The endpoint changed during signing-secret rotation.","recovery":{"operation":"webhooks.endpoints.get","requiredFields":["endpointId"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsRotateSecretError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.endpoints.test":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.endpoints.test","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.endpoints.test","x-moreflow-agent":{"effect":"external_communication","confirmation":"always","reversibility":"partially_reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true},"summary":"webhooks.endpoints.test","description":"Queue one synthetic subscribed event; the dispatcher sends it asynchronously.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled or automatically disabled.","recovery":{"operation":"webhooks.endpoints.enabled.update","args":{"enabled":true},"requiredFields":["endpointId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected test event is not an endpoint subscription.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","events"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled or automatically disabled.","recovery":{"operation":"webhooks.endpoints.enabled.update","args":{"enabled":true},"requiredFields":["endpointId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected test event is not an endpoint subscription.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","events"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled or automatically disabled.","recovery":{"operation":"webhooks.endpoints.enabled.update","args":{"enabled":true},"requiredFields":["endpointId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected test event is not an endpoint subscription.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","events"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled or automatically disabled.","recovery":{"operation":"webhooks.endpoints.enabled.update","args":{"enabled":true},"requiredFields":["endpointId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected test event is not an endpoint subscription.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","events"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled or automatically disabled.","recovery":{"operation":"webhooks.endpoints.enabled.update","args":{"enabled":true},"requiredFields":["endpointId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected test event is not an endpoint subscription.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","events"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled or automatically disabled.","recovery":{"operation":"webhooks.endpoints.enabled.update","args":{"enabled":true},"requiredFields":["endpointId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected test event is not an endpoint subscription.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","events"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled or automatically disabled.","recovery":{"operation":"webhooks.endpoints.enabled.update","args":{"enabled":true},"requiredFields":["endpointId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected test event is not an endpoint subscription.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","events"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled or automatically disabled.","recovery":{"operation":"webhooks.endpoints.enabled.update","args":{"enabled":true},"requiredFields":["endpointId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected test event is not an endpoint subscription.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","events"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled or automatically disabled.","recovery":{"operation":"webhooks.endpoints.enabled.update","args":{"enabled":true},"requiredFields":["endpointId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected test event is not an endpoint subscription.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","events"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.test"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"INVALID_STATE","when":"The endpoint is disabled or automatically disabled.","recovery":{"operation":"webhooks.endpoints.enabled.update","args":{"enabled":true},"requiredFields":["endpointId"]}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The selected test event is not an endpoint subscription.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","events"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsTestError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.endpoints.update":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.endpoints.update","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.endpoints.update","x-moreflow-agent":{"effect":"provider_administration","confirmation":"policy","reversibility":"reversible"},"x-moreflow-agent-annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"summary":"webhooks.endpoints.update","description":"Update an endpoint name, URL, or subscribed event types.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateInput"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional idempotency key. The runtime also accepts idempotencyKey in the JSON body when the operation schema declares that field.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"425":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds remaining on the active pending idempotency claim.","schema":{"type":"integer","minimum":1}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The identical mutation is still in progress. Retry the same idempotency key after the exact delay in Retry-After."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.endpoints.update"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found. The endpoint does not exist in the credential account.","recovery":{"operation":"webhooks.endpoints.list","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract. The endpoint URL violates the outbound URL policy.","recovery":{"operation":"webhooks.endpoints.update","requiredFields":["endpointId","url"]}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEndpointsUpdateError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Idempotency-Replayed":{"description":"Present with value true when a stored terminal result was replayed.","schema":{"type":"string","enum":["true"]}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/operations/webhooks.events.list":{"post":{"tags":["Operations: webhooks"],"operationId":"webhooks.events.list","x-moreflow-stability":"stable","x-moreflow-operation-id":"webhooks.events.list","x-moreflow-agent":{"effect":"read","confirmation":"never","reversibility":"not_applicable"},"x-moreflow-agent-annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"summary":"webhooks.events.list","description":"Discover per-event webhook versions, summaries, occurrence keys, and Level-2 payload schemas.","x-moreflow-contract-version":"1","security":[{"bearerAuth":[]},{"oauth2":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEventsListInput"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEventsListOutput"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation result."},"400":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Malformed JSON body or invalid operation input."},"401":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Missing, invalid, disabled, or revoked credentials."},"402":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation requires a plan or capability upgrade."},"403":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The caller is not authorized for this operation."},"404":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The requested operation or resource was not found."},"409":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"The operation conflicts with the current account state."},"429":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Operation rate limit exceeded."},"500":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"Unexpected operation API failure, or an upstream provider rejected or failed the operation (error.code PROVIDER_ERROR); retry according to recovery metadata."},"503":{"x-moreflow-errors":[{"code":"AUTH_ERROR","when":"The caller is not authenticated for this operation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"FORBIDDEN","when":"The caller is authenticated but is not allowed to perform this operation.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"VALIDATION_ERROR","when":"The request does not satisfy this operation’s input contract.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"NOT_FOUND","when":"The requested resource or operation target could not be found.","recovery":{"operation":"operations.discovery.list","args":{}}},{"code":"UNAUTHORIZED","when":"The session credential is missing or has been revoked.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"INVALID_ARGUMENT","when":"The JSON body or explicit public request fields are invalid.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"POLICY_DENIED","when":"The caller policy does not admit this invocation.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"CONFIRMATION_REQUIRED","when":"The caller must explicitly confirm the requested side effect.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"RATE_LIMIT","when":"The request exceeds its transport or credential rate limit.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_CONFLICT","when":"The idempotency key was already used with another request.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"IDEMPOTENCY_IN_PROGRESS","when":"The same idempotent request is still executing.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"UPGRADE_REQUIRED","when":"The account plan does not include the required capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"SUBSCRIPTION_INACTIVE","when":"The account subscription does not admit this capability.","recovery":{"operation":"billing.entitlements.get","args":{}}},{"code":"MOBILE_APP_UPDATE_REQUIRED","when":"The native client version is below the supported minimum.","recovery":{"operation":"operations.discovery.get","args":{"id":"webhooks.events.list"}}},{"code":"WORKSPACE_NOT_PROVISIONED","when":"The valid identity is not linked to a Moreflow workspace; complete identity provisioning before retrying.","recovery":{"operation":"users.memberships.list","args":{}}},{"code":"CONTRACT_ERROR","when":"Moreflow could not produce a response satisfying the operation contract."},{"code":"INTERNAL_ERROR","when":"Moreflow could not complete the operation because of an unexpected server failure."},{"code":"INVALID_CURSOR","when":"The cursor is malformed or expired.","recovery":{"operation":"webhooks.events.list","args":{}}}],"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationWebhooksEventsListError"}}},"headers":{"X-Request-Id":{"description":"Request correlation id. Include this value when reporting a response to Moreflow support.","schema":{"type":"string"}},"X-Trace-Id":{"description":"Distributed trace correlation id for this request. Include it with X-Request-Id for diagnostics.","schema":{"type":"string"}},"X-Moreflow-Contract-Version":{"description":"Compatibility revision of the operation contract returned by this endpoint.","schema":{"type":"string","enum":["1"]}}},"description":"An upstream provider is temporarily unavailable; retry according to recovery metadata."}}}},"/v1/chatbots/{chatbotId}":{"get":{"operationId":"chatbots.embed.getPublic","x-moreflow-operation-id":"chatbots.embed.getPublic","tags":["Public Chatbots"],"summary":"Load active public chatbot embed settings from Postgres.","description":"Load active public chatbot embed settings from Postgres.","security":[],"parameters":[{"name":"chatbotId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"Origin","in":"header","required":false,"schema":{"type":"string"},"description":"Request origin checked against the chatbot embed allowlist."},{"name":"X-Moreflow-Account-Id","in":"header","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Optional account context for the public chatbot lookup."}],"responses":{"200":{"description":"Load active public chatbot embed settings from Postgres.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicOutput"}}}},"400":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorTransport"}]}}}},"403":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorTransport"}]}}}},"404":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorTransport"}]}}}},"429":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorTransport"}]}}},"headers":{"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}}}},"500":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedGetPublicErrorTransport"}]}}}}}}},"/v1/chatbots/{chatbotId}/messages":{"get":{"operationId":"chatbots.embed.messages.list","x-moreflow-operation-id":"chatbots.embed.messages.list","tags":["Public Chatbots"],"summary":"List persisted public chatbot embed messages.","description":"List persisted public chatbot embed messages.","security":[],"parameters":[{"name":"chatbotId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"Origin","in":"header","required":false,"schema":{"type":"string"},"description":"Request origin checked against the chatbot embed allowlist."},{"name":"threadId","in":"query","required":true,"schema":{"type":"string","minLength":1}},{"name":"visitorId","in":"query","required":true,"schema":{"type":"string","minLength":1}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1}},{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"List persisted public chatbot embed messages.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListOutput"}}}},"400":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorTransport"}]}}}},"403":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorTransport"}]}}}},"404":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorTransport"}]}}}},"429":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorTransport"}]}}},"headers":{"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}}}},"500":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesListErrorTransport"}]}}}}}},"post":{"operationId":"chatbots.embed.messages.send","x-moreflow-operation-id":"chatbots.embed.messages.send","tags":["Public Chatbots"],"summary":"Send a public chatbot embed message; shared lead contact details remain in the conversation without linking or updating a CRM client. A caller-supplied clientId is ignored.","description":"Send a public chatbot embed message; shared lead contact details remain in the conversation without linking or updating a CRM client. A caller-supplied clientId is ignored.","security":[],"parameters":[{"name":"chatbotId","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"Origin","in":"header","required":false,"schema":{"type":"string"},"description":"Request origin checked against the chatbot embed allowlist."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendInput"}}}},"responses":{"200":{"description":"Send a public chatbot embed message; shared lead contact details remain in the conversation without linking or updating a CRM client. A caller-supplied clientId is ignored.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendOutput"}}}},"400":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransport"}]}}}},"403":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransport"}]}}}},"404":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransport"}]}}}},"429":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransport"}]}}},"headers":{"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}}}},"500":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransport"}]}}}}}}},"/v1/chatbots/{chatbotId}/messages/stream":{"post":{"x-moreflow-operation-id":"chatbots.embed.messages.send","tags":["Public Chatbots"],"summary":"Send a public chatbot embed message; shared lead contact details remain in the conversation without linking or updating a CRM client. A caller-supplied clientId is ignored.","description":"Send a public chatbot embed message; shared lead contact details remain in the conversation without linking or updating a CRM client. A caller-supplied clientId is ignored.","security":[],"parameters":[{"name":"chatbotId","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"Origin","in":"header","required":false,"schema":{"type":"string"},"description":"Request origin checked against the chatbot embed allowlist."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendInput"}}}},"responses":{"200":{"description":"Send a public chatbot embed message; shared lead contact details remain in the conversation without linking or updating a CRM client. A caller-supplied clientId is ignored.","content":{"text/event-stream":{"schema":{"type":"string","description":"SSE frames: message.start, message.delta, message.complete, and message.error. message.complete contains the operation output plus completedAt."}}}},"400":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransport"}]}}}},"403":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransport"}]}}}},"404":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransport"}]}}}},"429":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransport"}]}}},"headers":{"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}}}},"500":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessagesSendErrorTransport"}]}}}}}}},"/v1/chatbots/{chatbotId}/message-ratings":{"get":{"operationId":"chatbots.embed.messageRatings.list","x-moreflow-operation-id":"chatbots.embed.messageRatings.list","tags":["Public Chatbots"],"summary":"List persisted public chatbot message ratings.","description":"List persisted public chatbot message ratings.","security":[],"parameters":[{"name":"chatbotId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"Origin","in":"header","required":false,"schema":{"type":"string"},"description":"Request origin checked against the chatbot embed allowlist."},{"name":"threadId","in":"query","required":true,"schema":{"type":"string","minLength":1}},{"name":"visitorId","in":"query","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"List persisted public chatbot message ratings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListOutput"}}}},"400":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorTransport"}]}}}},"403":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorTransport"}]}}}},"404":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorTransport"}]}}}},"429":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorTransport"}]}}},"headers":{"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}}}},"500":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsListErrorTransport"}]}}}}}},"post":{"operationId":"chatbots.embed.messageRatings.set","x-moreflow-operation-id":"chatbots.embed.messageRatings.set","tags":["Public Chatbots"],"summary":"Persist a public chatbot assistant message rating.","description":"Persist a public chatbot assistant message rating.","security":[],"parameters":[{"name":"chatbotId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"Origin","in":"header","required":false,"schema":{"type":"string"},"description":"Request origin checked against the chatbot embed allowlist."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetInput"}}}},"responses":{"200":{"description":"Persist a public chatbot assistant message rating.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetOutput"}}}},"400":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorTransport"}]}}}},"403":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorTransport"}]}}}},"404":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorTransport"}]}}}},"429":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorTransport"}]}}},"headers":{"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}}}},"500":{"description":"Request validation, chatbot access, rate-limit, or operation failure.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetError"},{"$ref":"#/components/schemas/OperationChatbotsEmbedMessageRatingsSetErrorTransport"}]}}}}}}},"/v1/operations/events":{"get":{"operationId":"operations.events.stream","tags":["Operations: Events"],"summary":"Stream account operation invalidations","description":"Account-scoped SSE stream. Browser sessions use their authenticated account; integration tokens require the webhook-event capability and receive only events for their other granted operation scopes. Frames include operation.invalidate, operation.replay_gap, reconnect, and heartbeat messages. The event data contains no business payload.","security":[{"betterAuthSession":[]},{"internalServicePrincipal":[]},{"bearerAuth":[]}],"parameters":[{"name":"accountId","in":"query","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"},"description":"Required only when an internal service principal supplies no account header. Browser and integration principals always use their authenticated account."},{"name":"X-Moreflow-Account-Id","in":"header","required":false,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"account id"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1}},{"name":"Last-Event-ID","in":"header","required":false,"schema":{"type":"string","minLength":1},"description":"Replay cursor; takes precedence over the cursor query parameter."},{"name":"heartbeatMs","in":"query","required":false,"schema":{"type":"number","default":15000},"description":"Values below 25 or non-finite values use the 15000 ms default."},{"name":"replayLimit","in":"query","required":false,"schema":{"type":"number","default":100},"description":"Non-positive or non-finite values use the default of 100."},{"name":"tag","in":"query","required":false,"schema":{"type":"string"},"description":"Optional invalidation tag filter. The public adapter forwards the last value when repeated; use tags for multiple filters."},{"name":"tags","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated invalidation tag filters; ignored when tag is present."}],"responses":{"200":{"description":"Long-lived SSE response; operation.invalidate data follows OperationEventStreamData.","content":{"text/event-stream":{"schema":{"type":"string"}}},"x-moreflow-event-data-schema":{"$ref":"#/components/schemas/OperationEventStreamData"}},"401":{"description":"Authentication, stream authorization, or runtime failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEventStreamError"}}}},"403":{"description":"Authentication, stream authorization, or runtime failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEventStreamError"}}}},"429":{"description":"Stream-open rate limit or concurrent-stream cap exceeded. Concurrent-stream caps include Retry-After only.","headers":{"Retry-After":{"description":"Delay, in seconds, before retrying this rate-limited request.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Maximum requests allowed by the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests remaining in the limiting rate-limit bucket.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Unix timestamp in seconds when the limiting rate-limit bucket resets.","schema":{"type":"integer","minimum":0}}}},"500":{"description":"Authentication, stream authorization, or runtime failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationEventStreamError"}}}}}}}},"tags":[{"name":"Operations: accounts","description":"Public accounts operation contracts."},{"name":"Operations: activities","description":"Public activities operation contracts."},{"name":"Operations: ai","description":"Public ai operation contracts."},{"name":"Operations: analytics","description":"Public analytics operation contracts."},{"name":"Operations: tokens","description":"Public tokens operation contracts."},{"name":"Operations: automations","description":"Public automations operation contracts."},{"name":"Operations: billing","description":"Public billing operation contracts."},{"name":"Operations: calendars","description":"Public calendars operation contracts."},{"name":"Operations: clients","description":"Public clients operation contracts."},{"name":"Operations: communications","description":"Public communications operation contracts."},{"name":"Operations: communications.whatsapp","description":"Public communications.whatsapp operation contracts."},{"name":"Operations: contracts","description":"Public contracts operation contracts."},{"name":"Operations: deals","description":"Public deals operation contracts."},{"name":"Operations: crm","description":"Public crm operation contracts."},{"name":"Operations: marketing","description":"Public marketing operation contracts."},{"name":"Operations: email_campaigns","description":"Public email_campaigns operation contracts."},{"name":"Operations: flow","description":"Public flow operation contracts."},{"name":"Operations: forms","description":"Public forms operation contracts."},{"name":"Operations: invoices","description":"Public invoices operation contracts."},{"name":"Operations: marketing.businessContext","description":"Public marketing.businessContext operation contracts."},{"name":"Operations: marketing.seo","description":"Public marketing.seo operation contracts."},{"name":"Operations: media","description":"Public media operation contracts."},{"name":"Operations: meetings","description":"Public meetings operation contracts."},{"name":"Operations: meetingTypes","description":"Public meetingTypes operation contracts."},{"name":"Operations: offers","description":"Public offers operation contracts."},{"name":"Operations: operations","description":"Public operations operation contracts."},{"name":"Operations: invocations","description":"Public invocations operation contracts."},{"name":"Operations: payments","description":"Public payments operation contracts."},{"name":"Operations: products","description":"Public products operation contracts."},{"name":"Operations: repositories","description":"Public repositories operation contracts."},{"name":"Operations: revenueJourney","description":"Public revenueJourney operation contracts."},{"name":"Operations: search","description":"Public search operation contracts."},{"name":"Operations: sites","description":"Public sites operation contracts."},{"name":"Operations: storage","description":"Public storage operation contracts."},{"name":"Operations: studio","description":"Public studio operation contracts."},{"name":"Operations: users","description":"Public users operation contracts."},{"name":"Operations: webhooks","description":"Public webhooks operation contracts."},{"name":"API mechanics","description":"**Integration token scopes.** An integration-token scope is one exact operation id, not a module prefix or wildcard. Token issuance accepts only integration-audience operations and rejects public, internal, and unknown ids. A token stamped read-only may contain only query-operation scopes; it cannot be issued with mutation or job scopes.\n\n**Account context.** Integration tokens are bound to their issuing account. For token calls, an `accountId` or `account_id` request-body value must equal that account; the runtime injects the token account into both fields and ignores a caller attempt to select a different account through `x-moreflow-account-id`. Authenticated browser-session and internal-service requests may establish account context with a body `accountId`/`account_id` or `x-moreflow-account-id`; a browser session may only use its own account.\n\n**Headers and idempotency.** `POST /v1/operations/{operationId}` responses include `X-Request-Id` and `X-Trace-Id` for correlation. Every public write operation accepts a non-empty key either in the `Idempotency-Key` header or in the JSON `idempotencyKey` field when the operation schema declares it. If both are supplied, keep them identical. The key is scoped to the authenticated account, verified token, operation, and key. The lifecycle rule is **one key = one logical request**: keep the same key for an identical retry, and rotate it whenever the business payload changes. Completed and failed idempotency records are retained for 30 days. A pending claim has a 600-second lease; while it is active, `409 IDEMPOTENCY_IN_PROGRESS` includes `Retry-After` with the exact remaining delay. After expiry, the default behavior is an unknown-outcome failure; only an operation explicitly marked safe to re-execute may reclaim the claim. After the retention window, the key is expired and may be reused for a new request.\n\nIdempotent mutations have three outcomes: **created** means this request executed and created the durable result; **replayed** means the byte-identical request reused the stored terminal result and the HTTP response carries `Idempotency-Replayed: true`; **conflict** means the key was used with a different fingerprint. A `409 IDEMPOTENCY_CONFLICT` is recovered by using a new key for the changed request. A `409 IDEMPOTENCY_IN_PROGRESS` is recovered by retrying the identical request with the same key after `Retry-After` (or by opting into the safe re-execution path after the pending lease). Terminal failures are durable too: an identical retry replays the same failure, so do not rotate the key merely because the first attempt returned an application error.\n\n**Rate limits.** A `429` response from `POST /v1/operations/{operationId}` includes `Retry-After`, `RateLimit-Limit`, `RateLimit-Remaining`, and `RateLimit-Reset`. `Retry-After` is a delay in seconds and `RateLimit-Reset` is a Unix timestamp in seconds. The event stream uses the same fields for its stream-open rate limit; a concurrent-stream cap supplies only `Retry-After`. HTTP header names are case-insensitive, so clients must handle equivalent casing."},{"name":"Operations: operations","description":"Use the public discovery operations as the front door to this API. Discovery is progressive: request only the detail needed for the next call.\n\n**Level 0 — find capabilities.** Call `operations.discovery.list` for public operation names, modules, and one-line summaries. Use `operations.modules.list` when a module list is enough.\n\n**Level 1 — inspect one contract.** Call `operations.discovery.get` with an operation id to retrieve its typed input, output, and error schemas before executing it.\n\n**Level 2 — use schema details.** Read the returned JSON Schema descriptions, validation constraints, and examples to construct a valid request and understand the response or recovery path."}]}